文件上传 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, ... });