【问题标题】:how to get the full path of file upload control in asp.net?如何在asp.net中获取文件上传控件的完整路径?
【发布时间】:2013-05-04 12:40:31
【问题描述】:

我在我的项目中使用 asp.net 2.0 使用文件上传控制,所以浏览驱动器并选择 像路径这样的文件(D:\user doc new 2011\Montana\MT_SUTA_2010-2011.html)强> 但在我的代码中看到错误是找不到文件路径是 (D:\Paymycheck\OnlineTaxUserDocumentation-1\TaxesDocument\MT_SUTA_2010-2011.html) 实际上它是应用程序路径并且只取文件名我的代码是

if (FileUpload.HasFile)
        {
string filepath = Server.MapPath(FileUpload.FileName);
string strHTML = File.ReadAllText(filepath);
                System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
                byte[] file1 = encoding.GetBytes(strHTML);
                int len = file1.Length;
                byte[] file = new byte[len]; 

                docs.TaxAuthorityName = ddlTaxAuthority.SelectedItem.Text;
                docs.TaxTypeID = ddlTaxType.SelectedValue;
                docs.TaxTypeDesc = ddlTaxType.SelectedItem.Text;
                docs.EffectiveDate = Convert.ToDateTime(txtEffectiveDate.Text);

                docs.FileName = f1;
                if (ddlTaxAuthority.SelectedValue == "FD")
                {

                    docs.Add(strHTML, file1);
                }
}

此行出现错误

string strHTML = File.ReadAllText(filepath);

我也可以这样试试

string FolderToSearch = System.IO.Directory.GetParent(FileUpload.PostedFile.FileName).ToString();
string f = Path.GetDirectoryName(FileUpload.PostedFile.FileName);
string f1 = FileUpload.FileName;
                 string filepath = System.IO.Path.GetFullPath(FileUpload.PostedFile.FileName);
 string strFilePath = FileUpload.PostedFile.FileName;
string file1234 = System.IO.Path.GetFullPath(FileUpload.PostedFile.FileName);
string filepath = FileUpload.PostedFile.FileName;

那么如何获取文件的总路径驱动器 请帮助我任何人

谢谢你 赫曼斯

【问题讨论】:

  • 不!您无法获取上传文件的完整路径。
  • k 如何获取所选文件中的内容 string strHTML = File.ReadAllText(filepath);

标签: asp.net file-upload


【解决方案1】:

因为您使用的是Server.MapPath,根据MSDN“maps the specified relative or virtual path to the corresponding physical directory on the server.”,您必须先调用FileUpload.SaveAs 方法将文件保存在服务器上,然后尝试读取其内容。

【讨论】:

  • 嗨,先生,请给我一个例子,我认为 string s=fileupload.saveas(filename);
  • 我可以使用字符串 sq =FileUpload.SaveAs(filepath);但显示错误
  • 没有返回类型,试试 FileUpload.SaveAs(filePath) without sq =
  • 好的,先生,它正在工作,但如何读取字符串 strHTML = File.ReadAllText(filepath); 之类的内容
  • File.ReadAllText(filepath);这不工作吗?你犯的错误是什么?
【解决方案2】:

如果您希望通过fileupload 控件上传文件MT_SUTA_2010-2011.html 的总客户端驱动器路径(如D:\user doc new 2011\Montana\MT_SUTA_2010-2011.html),请尝试使用System.IO.Path.GetFullPath(FileUpload1.PostedFile.FileName)

这肯定会返回文件的客户端路径。

【讨论】:

    【解决方案3】:

    试试这个就行了

    string filepath = System.IO.Path.GetFullPath(fuldExcel.PostedFile.FileName);
    fuldExcel.SaveAs(filepath); //fuldExcel---is my fileupload control ID
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      • 2014-05-10
      • 1970-01-01
      • 2011-04-17
      • 2011-08-14
      相关资源
      最近更新 更多