【问题标题】:File Upload from Ajax Saving to Subdirectory从 Ajax 保存到子目录的文件上传
【发布时间】:2018-06-28 17:55:32
【问题描述】:

我正在尝试使用 ASP MVC 从 ajax 请求上传文件,以保存在我的项目文档文件夹中的子文件夹下。例如,我从请求对象中获取文件,对于每组文件,我想在 Documents 下创建一个单独的文件夹,每次都存储文件。我已经尝试了下面的代码,但它抛出了一个异常,指出,找不到路径的一部分。我假设它是我试图存储文件的子目录,并且我尝试了各种组合,但无济于事。任何帮助将不胜感激,因为我整个上午都在努力解决这个问题。

我的 rootPath 在我的配置文件中存储为 C:\21Vianet\21Vianet\Documents

        if (Request.Files.Count > 0)
        {
            var rootPath = ConfigurationManager.AppSettings["DocumentsPath"];
            if (!(Directory.Exists(rootPath)))
            {
                Directory.CreateDirectory(rootPath);
            }

            var claimPath = Path.Combine(rootPath, claimNumber.ToString());
            Directory.CreateDirectory(claimPath);

            try
            {
                //  Get all files from Request object  
                HttpFileCollectionBase files = Request.Files;
                for (int i = 0; i < files.Count; i++)
                { 

                    HttpPostedFileBase file = files[i];
                    string fname;
                    fname = file.FileName;
                    var filePath = Path.Combine(claimPath, file.FileName);
                    fname = Path.Combine(filePath, fname);
                    file.SaveAs(fname);
                }
            catch (Exception ex)
            {

            }
         }

【问题讨论】:

  • 也显示你的 webconfig。

标签: ajax asp.net-mvc jquery-file-upload


【解决方案1】:

尝试添加Directory.CreateDirectory(filePath);

之后

var filePath = Path.Combine(claimPath, file.FileName);

最后创建的目录是:\Documents\claimNumber,但您正在尝试将文件保存到:\Documents\claimNumber\fileName\

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-01
    • 2012-04-06
    • 2020-04-21
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多