我一直在努力使用cordova文件传输,我一直在阅读教程和博客,告诉我该怎么做,看起来很简单,但我无法让它发挥作用。< / p>
我的应用正在录制视频我设法获取文件网址并将其作为src添加到视频元素中,它播放得很好,没问题。
然后我使用自定义插件加密文件,将其另存为.bin文件。
但是当我为cordovaFileTransfer使用相同的url时,我得到的是错误代码1.(这意味着找不到文件)
我尝试了chunkedMode = false和true,但没有区别。
我甚至尝试过没有加密,并使用了我在html中用于视频元素的相同网址。 (file:///storage/emulated/0/DCIM/Camera/VID_20151211_014038.mp4)和mimeType:video / mp4
我是否应该使用特殊的cordova文件路径进行上传或者我做错了什么?
有一个400错误的http_status代码,但我想我可能会先尝试修复file_not_found。
非常感谢有关此方面的任何帮助。
此致
代码:
var options = {
mimeType : 'application/octet-stream',
chunkedMode: false,
fileName : '6ad8914898dc83a4f3ff841780c8dc0a.bin',
headers: {
'Authorization': 'Bearer ' + projectToken,
'Content-Type': undefined
}
}
$cordovaFileTransfer.upload(server, 'file:///data/data/com.myapp/files/temp/6ad8914898dc83a4f3ff841780c8dc0a.bin', options)
.then(function(result) {
// Success!
console.log("SUCCESS");
}, function(err) {
// Error
console.log("err: "+JSON.stringify(err));
}, function (progress) {
// constant progress updates
});
这是错误对象:
{"code":1,
"source":"file:///data/data/com.myapp/files/temp/6ad8914898dc83a4f3ff841780c8dc0a.bin",
"target":"https://myapi.com:8090/api/message/e5ac7066-e8e1-4cb8-9183-d4d360fc94e3/content",
"http_status":400,
"body":null,
"exception":"https://myapi.com:8090/api/message/e5ac7066-e8e1-4cb8-9183-d4d360fc94e3/content"}