1

我想将上传的文件上传到我的 mvc 4.0 应用程序运行的地方和另一个由基于 linux 的服务器驱动的服务器。我想将文件上传到tomcat服务器下的目录(例如:KGS/assets/)。我可以通过以下代码将文件上传到本地服务器

public ActionResult Upload(string qqfile, int id)
        {
            //resim ekliyor
            const string path = @"C:\Temp\";
            const string kgsPath =@"\\";
            try
            {
                var stream = Request.InputStream;
                string file;
                if (String.IsNullOrEmpty(Request["qqfile"]))
                {
                    // IE
                    HttpPostedFileBase postedFile = Request.Files[0];
                    stream = postedFile.InputStream;
                    file = Path.Combine(path, System.IO.Path.GetFileName(Request.Files[0].FileName));
                }
                else
                {
                    //Webkit, Mozilla
                    file = Path.Combine(path, qqfile);
                }

                var buffer = new byte[stream.Length];
                stream.Read(buffer, 0, buffer.Length);
                System.IO.File.WriteAllBytes(file, buffer);

            }
            catch (Exception ex)
            {
                return Json(new { success = false, message = ex.Message }, "application/json");
            }
            return Json(new { success = true }, "text/html");
        }

是否有任何方法或方法可以实现这一目标,或者这不可能完成?

4

1 回答 1

0

您必须公开一些在您的 ASP.NET 应用程序可以使用的 Linux 服务器上存储文件的方法。这可以是 Samba 或 NFS 共享、FTP 帐户、Web 服务等。您选择的存储机制将决定您如何在其中存储文件。

另一种选择是使用类似rsync的东西来保持两个地方的文件同步。您的 .NET 应用程序不会意识到这一点,因此不需要编码。

于 2013-06-27T14:25:46.757 回答