文件上传 jquery
File upload jquery
我创建了 jersey REST 服务器并接收文件上传。
这是我遵循的教程:https://gist.github.com/aitoroses/4f7a2b197b732a6a691d
当我尝试使用 Postman 测试服务器时一切正常。我选的是Body,form-data,key:file,value:我的图片jpeg
我尝试做的是使用表单 html 和 jquery 上传文件
这是我的表格
<form>
<input id="imgFile" type="file" accept="image/*" value="Add file">
<input id="buttonPostReview" class="buttonSend" type="submit" value="Submit">
</form>
这是我的 jquery
var postFile = function(e) {
e.preventDefault();
var imgFile = $('#imgFile').val();
var upLoalImgUrl = endPointUrl + 'webresources/photo';
console.log(imgFile);
console.log('uploading..');
$.ajax({
type: "POST",
url: upLoalImgUrl,
data: imgFile,
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (returnData) {
console.log(returnData);
alert("Data Uploaded: ");
}
});
}
但我收到错误 415 - 不支持的媒体类型
你能告诉我如何使用 jquery 上传文件吗?我尝试进行一些搜索,但我可以找到执行此操作的方法
$(...).val()
不会从文件输入中获取文件,它只是 returns 文件名。您需要执行 $("#imgFile")[0].files[0]
并使用 FormData:
发送文件
var data = new FormData();
data.append('file', $("#imgFile")[0].files[0]);
$.ajax({ data: data, ... });
我创建了 jersey REST 服务器并接收文件上传。 这是我遵循的教程:https://gist.github.com/aitoroses/4f7a2b197b732a6a691d
当我尝试使用 Postman 测试服务器时一切正常。我选的是Body,form-data,key:file,value:我的图片jpeg
我尝试做的是使用表单 html 和 jquery 上传文件 这是我的表格
<form>
<input id="imgFile" type="file" accept="image/*" value="Add file">
<input id="buttonPostReview" class="buttonSend" type="submit" value="Submit">
</form>
这是我的 jquery
var postFile = function(e) {
e.preventDefault();
var imgFile = $('#imgFile').val();
var upLoalImgUrl = endPointUrl + 'webresources/photo';
console.log(imgFile);
console.log('uploading..');
$.ajax({
type: "POST",
url: upLoalImgUrl,
data: imgFile,
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (returnData) {
console.log(returnData);
alert("Data Uploaded: ");
}
});
}
但我收到错误 415 - 不支持的媒体类型 你能告诉我如何使用 jquery 上传文件吗?我尝试进行一些搜索,但我可以找到执行此操作的方法
$(...).val()
不会从文件输入中获取文件,它只是 returns 文件名。您需要执行 $("#imgFile")[0].files[0]
并使用 FormData:
var data = new FormData();
data.append('file', $("#imgFile")[0].files[0]);
$.ajax({ data: data, ... });