我想使用文件资源管理器通过我的REST服务将文件上传到我们的数据库,截至目前,我设法通过点击findDocumentOnboarding
的{{1}}按钮打开文件资源管理器。但我没有设法使用我的input type="file"
按钮上传所选文件。
我尝试使用以下代码:
HTML :
uploadDocumentOnboarding
Jquery的/使用Javascript :
<input type="button" value="Upload document" class="btn btn-xs btn-primary uploadDocumentOnboarding">
<input id="file" type="file" class="findDocumentOnboarding">
我在这里做错了什么?
非常感谢任何帮助!
修改:我现在正在 $(".uploadDocumentOnboarding").on(click, function (evt) {
IdToEdit = $(this).closest('tr').siblings().find('p.important').text();
alert(IdToEdit);
var url = "http://localhost:10110/MavenProject/api123/Onboard/uploads/"+IdToEdit;
evt.preventDefault();
var documentData = new FormData();
documentData.append("file", $('input#file.findDocumentOnboarding')[0].files[0]);
$.ajax({
url: url,
type: 'PUT',
data: {'testBlob': (documentData)},
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (response) {
alert(response);
}
});
return false;
});
答案 0 :(得分:0)
尝试用.on("click"
代替.on(click
;正在删除async: false,
,enctype: 'multipart/form-data',
答案 1 :(得分:0)
我必须这样做,注意POST而不是PUT以及数据和附加数据的区别:
$(".uploadDocumentOnboarding").on("click", function (evt) {
IdToEdit = $(this).closest('tr').siblings().find('p.important').text();
var url = "http://localhost:10110/MavenProject/api123/Onboard/uploads/"+IdToEdit;
evt.preventDefault();
var documentData = new FormData();
documentData.append('file', $('input#file.findDocumentOnboarding')[0].files[0]);
$.ajax({
url: url,
type: 'POST',
data: documentData,
cache: false,
contentType: false,
processData: false,
success: function (response) {
alert("Document uploaded successfully.");
}
});
return false;
});