在visual studio中我有以下场景:
一个有两个项目的解决方案:
在Asp MVC项目的控制器中,我希望在文件系统中保存文件(已上载)
在web api项目中,我需要向客户端发送asp mvc项目保存的图像。
答案 0 :(得分:0)
我知道您想要保存图像,而且您不确定应该保存在哪里。如果问题是这样,
如果有多个服务器,则需要将文件(图像)保存到数据库。因为,如果将图像保存到服务器,则其他人无法访问它们。
如果只有一台服务器,您可以将它们存储到文件系统。但是,您需要存储有关图像的信息,以便在需要时到达。因此,无论如何你需要数据库。因此,将图像存储到数据库是一个不错的选择。
我认为this link还可以帮助您将图像文件存储到文件系统和数据库。
答案 1 :(得分:0)
你可以试试这个:
byte[] image = Convert.FromBase64String(pImage);
string assemblyFolder = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory);
File.WriteAllBytes(assemblyFolder + @"\" + "fileName", image);
答案 2 :(得分:0)
2。 要将文件保存在位置控制器中,您可以执行以下操作; (在html侧输入类型需要是文件)
[HttpPost]
public void UploadFile(HttpPostedFileBase file)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(serverPath, fileName);
file.SaveAs(path);
}
}
答案 3 :(得分:0)
是的,这是可能的
第1步
在控制器中创建任何操作方法名称
第2步
写下面的代码
public ActionResult File(HttpPostedFileBase file) { try { string path = @"C:\File_Upload\"; if (file != null) { file.SaveAs(path + file.FileName); return View(); } else { return View(); } } catch (Exception ex) { throw ex; } }
文件:是您的操作方法名称,您可以将文件保存在指定路径中
的 HttpPostedFileBase 强>:
The HttpPostedFileBase class is an abstract class that contains the same members as the HttpPostedFile class. The HttpPostedFileBase class lets you create derived classes that are like the HttpPostedFile class, but that you can customize and that work outside the ASP.NET pipeline.第3步