2013-06-27 99 views
1

我想将上传的文件上传到我的mvc 4.0应用程序运行的地方以及另一台由基于Linux的服务器供电的服务器。我想上传文件到tomcat服务器下的目录(例如:KGS/assets /)。我可以通过下面的代码从asp.net mvc 4.0应用程序将上传的文件写入linux服务器

public ActionResult Upload(string qqfile, int id) 
     { 
      //resim ekliyor 
      const string path = @"C:\Temp\"; 
      const string kgsPath [email protected]"\\"; 
      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"); 
     } 

上传文件下载到本地服务器是否有反正或者接近实现这一目标,或者这是不可能做?

回答

0

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

另一种选择是使用类似rsync的文件来保持两个地方的文件同步。你的.NET应用程序将不知道这一点,所以不需要编码。

相关问题