2013-10-04 52 views
0

我需要將文件上傳到服務器,而不使用表格甚至標籤。使用html5/ajax/javascript上傳/ POST文件,無需使用表單和<input type = file>

原因是因爲我正在爲移動設備的Web應用程序工作,文件部分是通過集成的畫廊應用程序完成的。它僅返回設備文件系統上圖片的路徑。

我認爲這可能是通過讀取filecontent,將其放入blob並使用FormData對象完成的?類似於:

var oMyForm = new FormData(); 

oMyForm.append("id", "foo"); 
oMyForm.append("user", "bar"); 

var oFileBody = someFileReadingFunction("/path/to/picture"); // I think this should be some custom javascript call specific from the device. 
var oBlob = new Blob([oFileBody], { type: "image/jpg"}); 

oMyForm.append("mypicture", oBlob); 

var oReq = new XMLHttpRequest(); 
oReq.open("POST", "http://foo.com/submitform.php"); 
oReq.send(oMyForm); 

我說得對,或者我正在尋找錯誤的方向?

問候

+0

在大多數情況下,您將無法通過瀏覽器訪問設備的文件系統。你需要找到一種新方法。 –

回答

0

對於從存儲設備讀取圖片的一部分,你可能會不得不做的Tizen本機代碼。你可以閱讀有關Tizen Web和Tizen這裏本地人之間的通信:

Calling Native from Web

Calling Web from native

有一個例子,它有助於您瞭解如何處理這兩個方面,這溝通。

+0

看起來有可能通過特定的tizen javascript函數訪問文件系統:[link](http://tinyurl.com/ph7cl42)。 –

相關問題