无表单文件上传
2022-08-30 05:26:01
在不使用任何表格的情况下,我可以使用jQuery使用POST方法将文件/文件发送到“上传.php”。输入标记不在任何表单标记内。它单独存在。所以我不想使用jQuery插件,如'ajaxForm'或'ajaxSubmit'。<input type="file">
在不使用任何表格的情况下,我可以使用jQuery使用POST方法将文件/文件发送到“上传.php”。输入标记不在任何表单标记内。它单独存在。所以我不想使用jQuery插件,如'ajaxForm'或'ajaxSubmit'。<input type="file">
您可以使用 FormData 通过 POST 请求提交数据。下面是一个简单的示例:
var myFormData = new FormData();
myFormData.append('pictureFile', pictureInput.files[0]);
$.ajax({
url: 'upload.php',
type: 'POST',
processData: false, // important
contentType: false, // important
dataType : 'json',
data: myFormData
});
您不必使用表单来发出ajax请求,只要您知道您的请求设置(如url,方法和参数数据)。
此处的所有答案仍在使用 FormData API。这就像没有表单的上传。您还可以将文件作为内容直接上传到请求正文中,如下所示:"multipart/form-data"
POST
xmlHttpRequest
var xmlHttpRequest = new XMLHttpRequest();
var file = ...file handle...
var fileName = ...file name...
var target = ...target...
var mimeType = ...mime type...
xmlHttpRequest.open('POST', target, true);
xmlHttpRequest.setRequestHeader('Content-Type', mimeType);
xmlHttpRequest.setRequestHeader('Content-Disposition', 'attachment; filename="' + fileName + '"');
xmlHttpRequest.send(file);
Content-Type
和标头用于解释我们要发送的内容(哑剧类型和文件名)。Content-Disposition
我也在这里发布了类似的答案。