ASP,NET MVC在上传文件时将虚拟路径更改为物理路径



我需要在其他地方保存文件,因为该应用程序已完整

我将如何将虚拟路径更改为物理路径?

这是我的原始控制器

        [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应用程序中的绝对路径?

相关内容

  • 没有找到相关文章

最新更新