我在项目中使用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;
所以如何获取文件的总路径驱动器 请帮助我任何人
谢谢你 hemanth答案 0 :(得分:1)
因为您使用的是Server.MapPath
,根据MSDN“maps the specified relative or virtual path to the corresponding physical directory on the server.
”您必须先调用FileUpload.SaveAs
方法将文件保存在服务器上,然后尝试阅读它的内容。
答案 1 :(得分:0)
试试这个会起作用
string filepath = System.IO.Path.GetFullPath(fuldExcel.PostedFile.FileName);
fuldExcel.SaveAs(filepath); //fuldExcel---is my fileupload control ID
答案 2 :(得分:-1)
如果您希望通过D:\user doc new 2011\Montana\MT_SUTA_2010-2011.html
控件上传文件MT_SUTA_2010-2011.html
的{{1}}总客户端驱动器路径,请尝试使用fileupload
。
这肯定会返回文件的客户端路径。