2012-02-22 44 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