2012-02-22 40 views
2

我的目標是從javascript/jquery上載圖像和json/xml中的一些額外數據。由於我目前正在開發使用PhoneGap框架,這似乎有點麻煩。這並不是一個單獨的問題,但是我有點鬆散了圖像和描述它的數據之間的關係。從Javascaript/jquery上傳圖像和JSON/XML

有沒有人有如何做到這一點的想法?或者「將數據保存在一起」的其他好方法?

感謝您的任何建議, OMA

回答

2

如果你使用的是Phonegap,你應該使用它的FileTransfer API。
你可以這樣做,併發送你的json對象。

var options = new FileUploadOptions(); 
options.fileKey="document"; 
options.params={}; 
options.params.fileName = options.fileName ; 
options.chunkedMode = true; 
options.params.documentDio=dio;//THIS IS YOUR JSON OBJECT 
var ft = new FileTransfer(); 
ft.upload(fileURI, uploadUrl, function(data){ 
    //callback 
}, errorFn, options); 
+0

對,謝謝!起初我印象中這隻能在某處使用android。但是這個問題在後來的版本中顯然已經修復,因此它也適用於iPhone :-) – OMA 2012-02-23 14:46:14

2

你應該看看jQuery的IFrame的插件:

http://softwareas.com/jquery-iframe-plugin

AJAX通信不允許多數據如此,只有兩個方法,我知道的代碼是

  • 使用Flash獨立於任何其他數據上載文件
  • 使用這個插件提交整個形式的IFrame,因此不離開當前頁面

希望這有助於...

+1

有一種方法可以使用HTML5 File API上載帶有Ajax的文件。 – jcubic 2012-02-22 22:48:29

+0

我沒有時間在html5 api上打個盹。感謝您指出了這一點! :) – 2012-02-22 23:00:15

+0

感謝您的建議!我會考慮HTML5和iFrame解決方案:-) – OMA 2012-02-23 14:44:22

1

它也可能是值得一試的Jquery Form Plugin,這抓住了表單提交在js中,並允許您在將數據發送到服務器之前對數據執行任何操作。它也適用於文件上傳,它使用類似於jperovic建議的iframe方法,除了它可以完成所有這些操作。它在過去對我來說很好。

+0

不錯!你知道它是否也適用於多個文件? – OMA 2012-02-23 14:47:07

+0

我還沒有嘗試,但我不明白爲什麼它不會!實施起來非常簡單,所以不用花很長時間就可以開始。 – chvck 2012-02-23 23:00:58