我查看了 TransloadIt 网站,它看起来像是一项很棒的服务,但它的 Jquery 插件仅适用于 html 表单输入……这不适用于我的 phonegap 应用程序。有没有办法将 Phonegap 相机捕获的图像上传到 Transloadit?
2 回答
我知道 Transloadit,但不知道 Phonegap。你能做一个多部分的表格帖子吗?Transload 可以在没有 jQuery 的情况下接受这一点。如果您可以使用 XHR,那么这对您来说可能是一个很好的例子https://github.com/tim-kos/transloadit_xhr/blob/master/transloadit_xhr.js
使用 Transloadit 有一个工作的 phonegap (cordova) 应用程序
Transloadit 接受 POST 数据,不需要通过表单发送。
这是他们在表单上使用的发布数据:
https://transloadit.com/docs/#the-minimal-integration(向下滚动一点)
<form id="upload-form" action="http://api2.transloadit.com/assemblies" enctype="multipart/form-data" method="POST">
<input type="hidden" name="params" value="..." />
<input type="file" name="my_file" />
<input type="submit" value="Upload">
</form>
您所做的是获取这些变量名称,并在 cordova 文件传输插件中匹配它们:https ://github.com/apache/cordova-plugin-file-transfer
var params = {};
params.params = '[signed assembly goes here]';
var ft = new FileTransfer();
ft.upload(fileURL,
encodeURI("http://api2.transloadit.com/assemblies"),
successCallback, failCallback, { params: params });
我所做的是通过我的服务器(ajax)按需获取一个签名的程序集,上面有一个时间戳,以便为安全上传准备好程序集信息,这样您就不会泄露您的私人信息或只是打开您的帐户未经您的同意发布到。
它涉及更多一点,因为一旦处理程序集,我还有一个用于 transloadit 的回调 URL 设置。然后它必须找到我为该上传记录的程序集,然后在完成后填充有关上传的元数据。
在我发布此内容时,我最初假设这是可能的,但既然已经构建它并且它工作得很好。