PhoneGap FileTransfer和Server端脚本

时间:2012-09-25 13:17:12

标签: php javascript ios cordova file-transfer

我一整天都坚持这一点,JavaScipt代码似乎很好。但在输出中我得到了这个:

2012-09-25 15:09:57.584 ViviJesolo[13863:c07] File Transfer Finished with response code 200
2012-09-25 15:09:57.586 ViviJesolo[13863:c07] [INFO] Code = 200
2012-09-25 15:09:57.586 ViviJesolo[13863:c07] [INFO] Response = Array%0A(%0A%20%20%20%20%5Bfile%5D%20=%3E%20Array%0A%20%20%20%20%20%20%20%20(%0A%20%20%20%20%20%20%20%20%20%20%20%20%5Bname%5D%20=%3E%20cdv_photo_027.jpg%0A%20%20%20%20%20%20%20%20%20%20%20%20%5Btype%5D%20=%3E%20image/jpg%0A%20%20%20%20%20%20%20%20%20%20%20%20%5Btmp_name%5D%20=%3E%20/tmp/php4i7HAa%0A%20%20%20%20%20%20%20%20%20%20%20%20%5Berror%5D%20=%3E%200%0A%20%20%20%20%20%20%20%20%20%20%20%20%5Bsize%5D%20=%3E%202340%0A%20%20%20%20%20%20%20%20)%0A%0A)%0A
2012-09-25 15:09:57.587 ViviJesolo[13863:c07] [INFO] Sent = 2548

我的服务器端脚本是:

<?php
print_r($_FILES);
$new_image_name = "namethisimage.jpg";
move_uploaded_file($_FILES["file"]["tmp_name"], "/httpdocs/upload/".$new_image_name);
?>

我已经检查了权限,但没关系,但我无法看到上传的文件。 可能是什么问题?

编辑:我使用FileTransfer对象上传图片,如下所示:

function uploadPhoto(imageURI) 
{
 var options = new FileUploadOptions(); 
 options.fileKey="file"; 
 options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
 options.mimeType="image/jpg";
 var params = new Object();
 params.headers={'headerParam':'headerValue'};
 options.params = params;
 options.chunkedMode = false;
 var ft = new FileTransfer();
 ft.upload(imageURI, "site.com/upload.php";, win, fail, options); 
} 

1 个答案:

答案 0 :(得分:2)

可能是您的目标文件路径错误,请尝试将您的路径附加到文档根目录,如下所示:

$new_image_name = "namethisimage.jpg";
$destination = $_SERVER['DOCUMENT_ROOT'] . "/httpdocs/upload/".$new_image_name;
move_uploaded_file($_FILES["file"]["tmp_name"], $destination);