用于图像上传的Cordova FileTransfer Plugin错误代码1

时间:2016-10-27 23:15:43

标签: apache cordova file-upload phonegap-plugins cordova-plugins

我想在我的phonegap应用程序上拍照,然后使用FileTransfer插件将其上传到我的服务器。我收到错误代码1,但没有其他解释 - 这非常令人沮丧。我已经搜索了所有人都知道的文档和博客,但没有运气。

我正在使用基本的LAMP服务器,它继续给我一个http 500代码。我99.9%肯定这个错误是特定于我的服务器,因为我用我的不同的Web服务器测试了这个,代码工作正常。以下是回复:

{"code":1,"source":"file:///storage/emulated/0/Android/data/io.cordova.xxappxx/cache/1477607161788.jpg","target":"https://server.com/php/uploadPhoto.php","http_status":500,"body":"\t","exception":"https://server.com/php/uploadPhoto.php"}

以下是我的前端js代码:

function uploadPhoto(imageURI) {
    var options = new FileUploadOptions();
    options.fileKey="file";
    options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
    alert(options.fileName);
    options.mimeType="image/jpeg";

    var params = {};
    params.value1 = sessionStorage.getItem("token");
    options.params = params;
    options.chunkedMode = false;
    options.headers = {Connection: "close"};

    var ft = new FileTransfer();
    ft.upload(imageURI, "https://servername.com/php/uploadPhoto.php", function(result){
    console.log(JSON.stringify(result));
    }, function(error){
    console.log(JSON.stringify(error));
    }, options, true);
}

这是我正在调用的后端PHP代码(uploadPhoto.php):

<?php
session_start();
header('Access-Control-Allow-Origin : *');
$new_image_name = "$userId.jpg";
move_uploaded_file($_FILES["file"]["tmp_name"], "/var/img/".$new_image_name);
?>

1 个答案:

答案 0 :(得分:1)

这最终成为图像尺寸的问题。我正在为一所大学开展这个项目,他们的服务器安装了大量安全性 - 其中一个安全配置的文件上传大小限制非常小,阻止了上传。我通过扫描export GIT_EXEC_PATH=/your/path/ 目录中的一些日志文件来发现这一点。