[英]FileUpload in .NET not saving image
这是我的代码
Dim amPhotoPath As String = "\graphics\Profiles\" & ViewState("fileName")
personalPhotoUpload.SaveAs(Server.MapPath("~") & amPhotoPath)
由于某种原因,图像无法保存。.如果我调试代码,并在Quickwatch中获取URL,则文件夹将打开,因此路径是正确的,但不会保存! 我刚刚设置了权限,因为我认为是因为这个原因,但无济于事! 我不知道这里出了什么问题,我错过了什么?
多谢你们
查看msdn示例 。 您需要使用FileUpload控件属性来检查FileUpload控件是否具有文件,然后使用PostFile属性获取文件名。
尝试这个:
Dim amPhotoPath As String = Path.Combine(Server.MapPath("/graphics/Profiles"), ViewState("filename"))
personalPhotoUpload.SaveAs(amPhotoPath)
我不确定您的视图状态如何,但是至少这就是为什么在调试时更容易验证路径的原因。
您是否验证了personalPhotoUpload.ContentLength()> 0?
如果不是,那是你的问题。 如果您的文件字节为零,则没有上传的文件。
摘自此文档页面:
FileUpload控件不会自动从客户端读取文件。 您必须明确提供控件或机制以允许用户提交指定的文件。 例如,您可以提供一个按钮,用户可以单击该按钮来上传文件。 您编写的用于保存指定文件的代码可以调用FileBytes属性,该属性返回文件的内容。
在调用FileBytes属性之前,应该使用HasFile属性来验证FileUpload控件是否包含要上传的文件。 如果HasFile返回true,则调用FileBytes属性。 如果返回false,则向用户显示一条消息,指示该控件不包含文件。 如果不提供错误处理代码来验证文件是否存在,则尝试保存不存在的文件将引发HttpException异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.