2016-01-18 56 views
0

我想通過使用文件資源管理器的REST服務將文件上傳到我們的數據庫,截至目前,我通過點擊input type="file"findDocumentOnboarding按鈕來打開文件資源管理器。但我沒有設法上傳使用我的uploadDocumentOnboarding按鈕選定的文件。使用Jquery/Ajax將文件上傳到本地REST服務

HTML

<input type="button" value="Upload document" class="btn btn-xs btn-primary uploadDocumentOnboarding"> 
<input id="file" type="file" class="findDocumentOnboarding"> 

jQuery的/ JavaScript的

$(".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; 
}); 

我在做什麼錯在這裏

我曾嘗試使用下面的代碼試過嗎?

任何幫助,非常感謝!

編輯:我現在越來越PUT 415 Unsupported Media Type

回答

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; 
}); 
0

試用.on(click.on("click";除去async: false,enctype: 'multipart/form-data',

+0

同樣的問題,沒事的時候,我按下上傳文檔按鈕happends 。 –

相關問題