2016-01-20 73 views
2

如何使用chrome擴展將用戶本地存儲中的文件上傳到我的Web服務器。我使用了一個類型爲文件的簡單輸入標籤,當用戶點擊它時,文件瀏覽器打開,彈出的擴展消失,並且沒有任何內容被上傳。我在Ubuntu 15.04上使用google chrome。將文件從本地存儲上傳到使用Chrome擴展的服務器

在我popup.html它加載時,點擊圖標:

<form method="post" action="" id="smsCampForm"> 

    <input type="text" name="recipent_number" id="recipent_number" placeholder="Recipent numbers separated by commas" class="form-control" required> 
    <input type="file" name="fileToUpload" class="form-control" placeholder="Upload Excel File"> 
    <select name="listToSendSms" id="listToSendSms"></select> 
    <textarea name ="message_content" rows="5" maxlength="120" id="message_content" placeholder="Message maximum 120 characters" class="form-control" required></textarea> 
    <input type="submit" id="smsSubmit" name="submit" value="Send SMS" class="btn btn-success"></input> 
</form> 

而且我有一個JavaScript文件:

$("#smsCampForm").submit(function(event){ 
document.getElementById("smsSubmit").value = "Sending SMS..."; 
var formData = new FormData(this); 
formData.append("chromeExtensionRequest","1"); 
$.ajax({ 
    url : myurl, 
    type : 'POST', 
    data : formData, 
    processData : false, 
    contentType : false, 
    success : function(data,status){ 
    $("#smsResponse").html("<div class='alert alert-info'>"+data+"</div>"); 
    document.getElementById("smsSubmit").value = "Send SMS"; 
    } 
}); 
event.preventDefault(); 
}); 
}); 
+0

請告訴我們您寫的代碼,以便我們幫助 –

+1

是的,我添加了代碼 –

回答

0

由於彈出完全被破壞,當它失去重點,你的文件選擇器基本上不會觸發任何東西 - 所有代碼都被卸載。

有沒有辦法來防止這種行爲;因此,您應該將其卸載到其他內容中,例如加載在選項卡或背景頁面中的單獨頁面。

+0

加載一個單獨的頁面在一個標籤中似乎並不友好,我如何使用背景頁面來完成任務?一個小想法,我需要。 –

相關問題