错误:`找不到文件' C:\ Program Files(x86)\ IIS Express \ button.png'`

时间:2014-03-30 20:07:29

标签: c# asp.net upload

我在FileUpload中使用Asp.Net WebFrom。 我从计算机上传了C#的任何文件。

 string path = FileUpload1.PostedFile.FileName;
 string str = Path.GetFileName(path);

FileStream fs = new FileStream(str, FileMode.Open, FileAccess.Read); //我在这一行收到错误。错误:Could not find file 'C:\Program Files (x86)\IIS Express\button.png'

实际上这是我的文件路径:'C:\Users\Ceyhun\Downloads\button.png'

有谁能说出什么问题?

1 个答案:

答案 0 :(得分:4)

您要做的是获取客户端上传的文件的文件名,并尝试使用该文件名打开文件。因为您正在运行IIS Express(从c:\ program files运行),所以您的代码会在该位置查找该文件,但该文件不存在。

该文件存在于客户端计算机上,您的代码访问它的唯一方法是通过FileUploadCOntrol。

您无法直接从客户端的计算机引用该文件。 FileUpload控件将以字节为单位提供文件内容,或允许您直接将文件保存在服务器上。

e.g。

string filename = Path.GetFileName(FileUpload1.FileName);
FileUpload1.SaveAs(Server.MapPath("~/") + filename);

将文件内容作为字节数组获取:

byte[] fileBytes = FileUpload1.FileBytes;