我正在尝试将图片上传到我的FTP。
到目前为止我所获得的是plnkr
我的cordova文件传输看起来像
$scope.upload =function(){
var options = {
fileKey: "file",
fileName: "gopi",
chunkedMode: false,
mimeType: "image/jpeg",
params : {'user_token':'Chandru@123', 'user_email':'wepopusers'} // directory represents remote directory, fileName represents final remote file name
};
console.log(options);
$cordovaFileTransfer.upload('ftp://308.3d8.myftpupload.com/', MyService.getImgPath(), options)
.then(function(result) {
// Success!
console.log(result);
console.log("SUCCESS: " + JSON.stringify(result.response));
alert('ftp success');
}, function(err) {
// Error
console.log(err);
alert('ftp fail');
console.log("ERROR: " + JSON.stringify(err));
}, function (progress) {
// constant progress updates
console.log(progress);
});
};
我对cordova文件的错误函数的响应如下所示
FileTransferError {code:2,source:" file:///storage/sdcard0/Android/data/com.ionicframework.camera108827/cache/1462186990291.jpg" ;, target:" { {3}}",http_status:null,body:null ...} body:nullcode:2exception:nullhttp_status:nullsource:" file:///storage/sdcard0/Android/data/com.ionicframework.camera108827 /cache/1462186990291.jpg"target:" ftp://308.3d8.myftpupload.com/" proto :对象
我有按钮 TakePicture ,它会将照片和节目带给用户,还有一个功能可以使用cordovafiletransfer $ scope.upload 上传。
我的ftp主机是ftp://308.3d8.myftpupload.com/
用户名和密码是在我的编码中给出的,我有一个名为 gopi 的文件夹名称,我的图片应存储在其中。
我拍摄的图像路径是在imageURI参数中,所以我使用服务来设置路径。
步骤我感到困惑
1)我无法理解cordova文件传输插件中的 var options 对象。
2)我在远程调试时没有得到任何错误,但我只是在我的cordova文件传输中调用我的错误功能。
如何使用IONIC将拍摄的图像更新为FTP
更新
感谢甘地回答ftp://308.3d8.myftpupload.com/一些我如何设法连接到没有多部分的ftp。
但在此
中面临错误$ window.cordova.plugin.ftp.upload(" / ping"," / gopi / ping",function(percent){
我不知道第一个论点和第二个论点中的内容。
$ window.cordova.plugin.ftp.upload(" /default.prop" ;," /gopi/default.prop" ;, function(percent){
上面的成功完全发布到我的ftp但是我无法发布存储在我的ping变量中的图像。
答案 0 :(得分:1)
您的第一个问题的答案可以在文件传输插件的官方文档中找到。摘录如下,
options: Optional parameters (Object). Valid keys:
fileKey: The name of the form element. Defaults to file. (DOMString)
fileName: The file name to use when saving the file on the server. Defaults to image.jpg. (DOMString)
httpMethod: The HTTP method to use - either PUT or POST. Defaults to POST. (DOMString)
mimeType: The mime type of the data to upload. Defaults to image/jpeg. (DOMString)
params: A set of optional key/value pairs to pass in the HTTP request. (Object, key/value - DOMString)
chunkedMode: Whether to upload the data in chunked streaming mode. Defaults to true. (Boolean)
headers: A map of header name/header values. Use an array to specify more than one value. On iOS, FireOS, and Android, if a header named Content-Type is present, multipart form data will NOT be used. (Object)
查看此link了解详情。
对于第二个问题,请尝试在错误回调函数中获取错误代码并尝试缩小问题范围。
更新:我想使用文件传输插件无法进行ftp上传。插件定义本身表示"The FileTransfer object provides a way to upload files using an HTTP multi-part POST or PUT request, and to download files"
对于ftp上传,您可能需要查看ftp client。