我在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'
。
有谁能说出什么问题?
答案 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;