这是我的代码
Dim amPhotoPath As String = "\graphics\Profiles\" & ViewState("fileName")
personalPhotoUpload.SaveAs(Server.MapPath("~") & amPhotoPath)
由于某种原因图像没有保存..如果我调试代码,并在Quickwatch中获取URL,文件夹打开,所以路径是正确的,但它只是不保存!我刚刚设置了权限,因为我认为是因为这个,但无济于事!我不知道这里出了什么问题,我错过了什么?
谢谢你们
答案 0 :(得分:1)
结帐msdn example。您需要使用FileUpload控件属性来检查FileUpload控件是否有文件,然后使用PostedFile属性来获取文件名。
答案 1 :(得分:0)
试试这个:
Dim amPhotoPath As String = Path.Combine(Server.MapPath("/graphics/Profiles"), ViewState("filename"))
personalPhotoUpload.SaveAs(amPhotoPath)
我不确定你的视图状态是什么,但至少为什么在调试时更容易验证你的路径。
答案 2 :(得分:0)
您是否验证了personalPhotoUpload.ContentLength()> 0?
如果不是,那就是你的问题。如果您的文件字节为零,则表示没有上传的文件。
摘自this文档页面:
FileUpload控件没有 自动从中读取文件 客户。你必须明确提供一个 控制或机制允许用户 提交指定的文件。对于 例如,您可以提供一个按钮 用户可以单击上传文件。 您编写的用于保存的代码 指定的文件可以调用 FileBytes属性,返回 文件的内容。
在调用FileBytes属性之前, 你应该使用HasFile属性 验证FileUpload控件 包含要上传的文件。如果 HasFile返回true,调用 FileBytes属性。如果它返回 false,向用户显示消息 表明控件没有 包含一个文件。如果你不提供 错误处理代码验证a 文件存在,尝试保存 不存在的文件抛出 HttpException异常。