2015-11-16 47 views
0

我想從js訪問csv文件。如何使用javascript訪問上傳的文件?

所以我在HTML中使用POST表單標籤上傳它。

比我怎麼才能使用js訪問它?

+0

你需要在服務器上?你可以在客戶端*上訪問它而不必提交它*(參見[這個答案](http://stackoverflow.com/questions/942105/file-data-from-input-element));或者您可以將其提交給服務器,然後使用AJAX再次詢問它。 – Amadan

+0

哇。這就是我要的。 Thx –

回答

1

用簡單的ajax請求,你可以做到這一點。用原始的Java腳本,你可以像這樣訪問你的文件。

var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
     var responseText = xhttp.responseText; //The responseText is the content of your file. 
    } 
    }; 
    xhttp.open("GET", "/directory-of-uploaded-files/filename", true); 
    xhttp.send(); 

而且使用jQuery

$.ajax({ 
    url: "/directory-of-uploaded-files/filename", 
    method: "get", 
    cache: false, 
    success: function(file_content){ 
    console.log(file_content); //file_content is the content of your file. 
    }, 
    error: function (e) { 
    alert("Error"); 
    } 
}); 
+0

我喜歡這個答案,因爲它給出了一個實際的例子,如果該文件存儲在服務器的文件系統中的已知和可訪問的位置,它將工作。我想知道的一件事是,文件是否在上載時正在處理並轉換成(例如)數據庫中的表格數據,因爲如果是這樣的話,事情會變得更加複雜。 –

+0

thx爲您的幫助。比我如何使用CSV文件? –

+0

當console.log(xhttp)xhttp.responseText中有csv文本時。但是console.log(xhttp.responseText)是空的。 –

0

你不能沒有進行AJAX調用。一旦它在服務器上,客戶端將需要請求它。

你所要求的是Web開發的核心問題,你將如何完成它很大程度上取決於你的服務器運行的是什麼。例如,如果您已將此CSV文件發佈到運行PHP和MySQL的服務器,並且它現在存儲在MySQL數據庫中,則需要服務器端PHP從數據庫檢索文件並將其內容提供給客戶端。

我希望這會有所幫助。

+0

thx爲您提供幫助。我知道了。 –

+0

太棒了!很高興我能幫上忙,祝你的項目好運。 –

相關問題