【问题标题】:Upload an image and JSON/XML from Javascaript/jquery从 Javascript/jquery 上传图像和 JSON/XML
【发布时间】:2012-02-22 22:37:13
【问题描述】:

我的目标是从 javascript/jquery 上传 json/xml 中的图像和一些额外数据。由于我目前正在使用 PhoneGap 框架进行开发,这似乎有点麻烦。单独执行此操作似乎不是问题,但是我有点松散了图像与描述它的数据之间的关系。

有没有人知道如何做到这一点?还是其他一些“将数据保持在一起”的好方法?

感谢您的任何建议, 奥玛

【问题讨论】:

    标签: javascript json cordova upload


    【解决方案1】:

    如果你使用 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);
    

    【讨论】:

    • 好的,谢谢!起初我的印象是这只适用于某个地方的android。但该问题显然已在更高版本中得到修复,因此它也适用于 iPhone :-)
    【解决方案2】:

    您应该查看 jQuery IFrame 插件:

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

    AJAX 通信不允许多部分数据,所以我知道的唯一两种方式是

    • 使用 Flash 独立于任何其他数据上传文件或
    • 使用此插件将整个表单提交到 IFrame,因此不会离开当前页面

    希望这会有所帮助...

    【讨论】:

    • 有一种使用 HTML5 File API 的 Ajax 上传文件的方法。
    • 我没有时间去研究 html5 api。感谢您指出了这一点! :)
    • 感谢您的建议!我将研究 HTML5 和 iFrame 解决方案:-)
    【解决方案3】:

    还值得一试Jquery Form Plugin,它可以捕获 js 中的表单提交,并允许您在将数据发送到服务器之前对其进行任何处理。它也适用于文件上传,它使用类似于 jperovic 建议的 iframe 方法,只是它为您完成了所有工作。过去对我来说效果很好。

    【讨论】:

    • 我没有尝试过,但我不明白为什么它不会!它很容易实现,所以不会花很长时间去尝试。
    猜你喜欢
    • 2012-09-21
    • 2018-07-17
    • 2015-10-21
    • 2019-03-14
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 2012-03-27
    • 2016-12-01
    相关资源
    最近更新 更多