我需要在其他地方保存文件,因为该应用程序已完整
我将如何将虚拟路径更改为物理路径?
这是我的原始控制器
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(FormularioDoUploadViewModel formularioDoUploadViewModel)
{
if (ModelState.IsValid)
{
List<DetalhesDoArquivoViewModel> detalhesDosArquivos = new List<DetalhesDoArquivoViewModel>();
for (int i = 0; i < Request.Files.Count; i++)
{
var file = Request.Files[i];
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
DetalhesDoArquivoViewModel detalhesDoArquivo = new DetalhesDoArquivoViewModel()
{
FileName = fileName,
Extension = Path.GetExtension(fileName)
};
detalhesDosArquivos.Add(detalhesDoArquivo);
var path = Path.Combine(Server.MapPath(@"~/App_Data/Upload/"), detalhesDoArquivo.Id + detalhesDoArquivo.Extension);
file.SaveAs(path);
}
}
formularioDoUploadViewModel.DetalhesDoArquivo = detalhesDosArquivos;
_uploadServices.AdicionarArquivo(formularioDoUploadViewModel);
return RedirectToAction("Index");
}
return View(formularioDoUploadViewModel);
}
我想将此路径插入变量路径:
var path = Path.Combine(Server.MapPath(@"C:Usersbwm6Desktopuploads"), detalhesDoArquivo.Id + detalhesDoArquivo.Extension);
用您的绝对路径替换相对路径。确保您的权限是为了写入目录的权限。您可以使用System.IO.File
访问系统文件。此链接我的帮助您了解如何做:如何将相对路径转换为Windows应用程序中的绝对路径?