我使用cordova文件传输上传图像到服务器。问题是cordova文件传输总是抛出错误代码1。它的工作之前,今天突然停止工作。
我没有看到服务器上收到任何参数选项值。我的代码
savebase64AsImageFile(folderpath,filename,realData,dataType,q).then(function (success){
console.log(success);
$cordovaFile.checkFile(folderpath, filename).then(function (success) {
console.log(success);
success.getMetadata(function(metadata) {
console.log('meta size2 ' +metadata.size);
});
}, function (error) {
});
$scope.data.image = filename;
$cordovaFileTransfer.upload(encodeURI(server), filePath, options, true).then(function(result) {...
字符串
我已经使用$cordovaFile.checkFile进行了检查,以确保文件存在。
var options ={
fileName: filename,
chunkedMode: true,
params:{'user_id' : $scope.data.userid},
headers:{Connection: 'close'}
};
型
在我的服务器上,我正在使用Laravel,但$request数据是空的,我无法访问文件或user_id。
对于我使用的文件夹路径,
var folderpath = cordova.file.dataDirectory;
var filePath = folderpath + filename;
型
filepath将返回文件位置
file:///data/user/0/com.ionicframework.test3829076/files/PV5xo1506004208779.jpg
我在android设备上测试这个
文件传输错误x1c 0d1x
状态409是我在请求为空时给出的数字
知道是什么导致这个错误吗?这部分代码以前总是工作的。
3条答案
按热度按时间ipakzgxi1#
根据文档,你有你的参数向后。它的上传(文件路径,服务器,等)
https://www.npmjs.com/package/cordova-plugin-file-transfer
bnlyeluc2#
尝试不使用选项上传或使用
字符串
3wabscal3#
代码1可能是访问问题。在我的情况下,文件权限有问题。如果你使用的sdk版本低于29(android 10),你必须强制用户给予读取权限
添加cordova-plugin-android-permissions在Android. xml
字符串
//onClickList:
型
//然后像往常一样使用cordova-plugin-file-transfer上传文件
注意:您必须在AndroidManifest.xml中启用READ_EXTERNAL_CODE和WRITE_EXTERNAL_CODE