代码之家  ›  专栏  ›  技术社区  ›  Psy Chotic

从ajax上传文件保存到子目录

  •  0
  • Psy Chotic  · 技术社区  · 7 年前

    我正在尝试使用asp mvc从ajax请求上传文件,以保存在子文件夹下的projects文档文件夹中。例如,我从请求对象获取文件,对于每一组文件,我希望在文档下创建一个单独的文件夹,每次都存储文件。我尝试了下面的代码,但是它抛出了一个异常,声明找不到路径的一部分。我假设它是我试图存储文件的子目录,我尝试了各种组合,但都没有成功。任何帮助都将不胜感激,因为我整个上午都在努力解决这个问题。

    我的根路径存储在我的配置文件中,格式为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)
                {
    
                }
             }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   quiqs    7 年前

    尝试添加 Directory.CreateDirectory(filePath);

    之后

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

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