如果网站用户使用以下内容提交HTML表单:(1)发布方法;(2)多部分/表单数据编码;(3)较大的附件,服务器可以在不使用AJAX的情况下上传文件,并在文件上传完成之前发送服务器生成的HTTP响应吗?
太密了。因此,我写了一个例子来说明我的意思。假设有一个带有标题字段的图片上传表单。
<form action="upload-with-caption/" method="post" enctype="multipart/form-data"> <input type="hidden" id="hiddenInfo" name="hiddenInfo" /> File: <input type="file" name="imgFile" id="imgFile" /><br /> Caption: <input type="text" name="caption" id="caption" /> <input type="submit" /> </form>
我想将标题存储在具有定义的数据库表中:
[files_table]
然后,我要将文件上传到/root/{unique-id}/filename.ext。
/root/{unique-id}/filename.ext
file_status映射到具有以下定义的C#枚举:
enum FileUploadStatus{ Error = 0, Uploading = 1, Uploaded = 2 }
提交表单后,如果文件太大而无法在1秒钟内处理,我想向网页发送回一个响应,说当前正在上传。
我可以使用单个同步HTTP发布来执行此操作吗?
注意:很明显,我稍后会使用AJAX检查状态更新,但这不是这个问题要问的内容。 我专门询问发送响应后文件是否可以继续上传。
HTTP是一个同步协议。 在收到整个请求之前,您无法发送回复。