[英]File Upload link clears when page reloads, why?
我在VB.NET中使用ASP.net(2.0)。
我有一个用户注册表。 用户可以在该表格上提供所有联系方式,并且可以使用ASP.net中的常规文件上传控件上传图像。
这是我的问题。
如果页面上有任何问题,那么我会向用户显示一条错误消息,说明他遗漏了什么或出了什么问题。 但是页面刷新的确发生了。 现在,指向用户所选图像的链接已消失。 现在,当用户纠正错误时,他认为他正在上传图片,但他从未这样做,因为当页面重新加载时,它删除了文件上传控件中指向其图片的链接。
请注意,用户不必上传图像,因此当该字段为空白时不会有错误。
有人知道我该怎么办吗?
有人知道我必须做什么吗?
两种常用方法:
添加客户端(JavaScript)表单验证,这样对于大多数人来说, 在他们提交表单之前(而不是稍后)在服务器端会弹出一个错误,到那时,上传将丢失。
给每个表单实例一个唯一的ID。 当文件上载有错误的表单时,将该文件存储在服务器上,并在数据库中记录具有该ID的表单具有附件。 在第二次机会表单上,将ID包括在隐藏字段中,并直观地指示已记住上载的文件。 在提交时,将记住的文件拖出并附加到新提交中。
我认为您无能为力。 过去几年中,浏览器已锁定“文件表单”字段,以防止偷渡式上传。 我将有一个单独的上传照片的过程。
这种行为是设计使然。 这是浏览器强加的安全限制,因此所有文件只能通过用户的明确操作从用户的计算机上载。
如果在表单提交过程中确实出现问题,则应提示用户重新上传他/她的文件。 这是正确的方法。 将其视为事务(全部或全部)。
出于安全原因,没有人可以在HTML的文件字段中写入值。 您可以上传文件,然后报告错误,并为用户提供一种取消上传的方法。 编辑:这是Bobince在另一个答案中更详细描述的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.