我想在我的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);
?>
答案 0 :(得分:1)
这最终成为图像尺寸的问题。我正在为一所大学开展这个项目,他们的服务器安装了大量安全性 - 其中一个安全配置的文件上传大小限制非常小,阻止了上传。我通过扫描export GIT_EXEC_PATH=/your/path/
目录中的一些日志文件来发现这一点。