2014-01-13 38 views
0

我試圖在summernote中將圖像上傳到服務器。下面的腳本是成功提交表單,但文件沒有收到後端。我在這裏做錯了什麼?動態表單不提交文件

var edit = function() { 
    $('.click2edit').summernote({ 
     focus: true, 
     onImageUpload: function(files, editor, welEditable) { 
      sendFile(files[0],editor,welEditable); 
     } 
     }); 
}; 
function sendFile(file,editor,welEditable) { 

    alert(file.size); 

    var iframe = $('<iframe name="postiframe" id="postiframe" style="display: none" />'); 

    $("body").append(iframe); 
    alert("1"); 
    var form = $('#theuploadform'); 
    form.attr("action", "UploadServlet"); 
    form.attr("method", "post"); 
    form.attr("enctype", "multipart/form-data"); 
    form.attr("encoding", "multipart/form-data"); 
    form.attr("target", "postiframe"); 
    form.attr("file", file); 
    form.submit(); 
    alert("2"); 
    $("#postiframe").load(function() { 
     iframeContents = $("#postiframe")[0].contentWindow.document.body.innerHTML; 
     return iframeContent; 
    }); 

    return false; 
} 

回答

0

感謝所有。爲這個問題找到了解決辦法。我改變了summernote代碼來返回一個包裝表單,並且他們發佈了這個表單。它成功發佈。我在將上傳的圖像加載到編輯器時遇到了一些問題。但我會爲此啓動另一個線程。謝謝大家。

0

您不能將默認值設置爲HTML上傳控件。

您需要顯示用戶選擇文件的表單,然後才能發佈到服務器。

一些參考:

http://www.w3schools.com/jsref/prop_fileupload_value.asp

How to set a value to a file input in HTML?

Set default value for a input file form

+0

@rkanawo有沒有解決我的問題。限制是我只會在這個位置獲取文件。 – RajnikantDixit

+0

必須在沒有用戶交互的情況下獲取文件的唯一方法是在客戶端計算機上預安裝軟件,使用ActiveX控件(僅適用於IE)或Java Applet運行您的頁面,但存在一些安全問題。 http://docs.oracle.com/javase/tutorial/deployment/applet/security.html – rkawano