【发布时间】:2013-11-14 16:31:36
【问题描述】:
我需要在单页 (AJAX) Web 应用程序中上传带有表单的文件,但如果没有该面板中表单上的其余数据,该文件将毫无用处。 INPUTs 只有三个,但其中一个可能是相当长的文本区域。我怎样才能捕捉到这个?
如果我使用隔离的 AJAX 文件上传技术(如 Fine Uploader http://fineuploader.com/ 小部件)上传文件,那么我必须处理两个违反直觉的元素:
CLIENT:用户在实际批准交易之前传输文件,交易的主要部分。然后他们等待此完成,即使他们拒绝继续。 UI 必须禁用屏幕元素以防止客户端可能在文件上传之前或期间提交相关数据的情况。在过程中的错误位置发送文件需要额外的努力。
服务器:它需要一个票据缓存。后端必须缓存上传的文件并向客户端提供该文件的票证。客户端必须将这张票与即将到来的请求一起发送。理想情况下,缓存还应该在各种情况下清理旧票证,例如取消表单、上传另一个文件或用户会话超时。更多额外的工作(虽然这个票据缓存功能在我的服务器中会很不错)。
将整个表单放在IFRAME 中是一个明智的解决方案吗?我在处理它并使它看起来是单页应用程序的一个集成良好的部分时会遇到问题吗?过去我总是远离他们。
我的平台是 jQuery、ASP.NET MVC、常用浏览器(可能还有移动)。
【问题讨论】:
-
最现代的上传插件接受额外的参数。你引用的那个是blog.fineuploader.com/2012/12/09/…
标签: javascript ajax forms iframe file-upload