我想将上传的文件上传到我的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");
}
是否有任何方法或方法可以实现这一点,或者这是不可能完成的?
答案 0 :(得分:0)
您必须公开一些将文件存储在ASP.NET应用程序可以使用的Linux服务器上的方法。这可以是Samba或NFS共享,FTP帐户,Web服务等。您选择的存储机制将决定如何在那里存储文件。
另一种选择是使用rsync之类的东西来保持两个地方的文件同步。您的.NET应用程序不会意识到这一点,因此无需编码。