没有表单控件时,如何上传文件到后端
html如何支持文件上传,是在 rfc-1867 里面规定的,这个标准规定了上传文件时,表单控件input的类型应设置为 file, FORM的ENCTYPE应设置为"multipart/form-data"。
如果我们希望把页面上某些用户输入/修改的数据以文件的形式上传到后端,应该如何做呢?
只需将数据以formData发送到后端即可。
步骤非常简单:
1. 构造formData
var formData = new FormData();
formData.append('file', new Blob([fileContent], {type: yourType}));
2. 发送
var request = new XMLHttpRequest();
request.open("POST", "http://foo.com/submitform.php");
request.send(formData);
文件上传的具体介绍可参考:
https://stackoverflow.com/questions/19617996/file-upload-without-form?noredirect=1&lq=1
https://stackoverflow.com/questions/8659808/how-does-http-file-upload-work
https://stackoverflow.com/questions/4526273/what-does-enctype-multipart-form-data-mean