使用phongeap文件传输API将相机照片上传为文件文件类型

时间:2015-11-29 08:53:37

标签: javascript php android

我正在使用文件传输API将相机拍摄的照片上传到服务器,但是它是作为文件文件类型上传的,并且照片的名称没有jpeg扩展名。我下载时仍然可以将文件读取为图像,但我需要使用照片网址将照片从服务器传输到其他API,并且API希望在图像文件类型中查看照片。

上传照片的JavaScript代码:

var imgFilename = "";

//upload photo
function uploadPhoto(imageURI) {


  //upload image
  var fileName=imageURI.substr(imageURI.lastIndexOf('/') + 1);

  //var uri = encodeURI('http://server...');
  var options = new FileUploadOptions(); 
  options.fileKey = "file";
  if(fileName.indexOf('?')==-1){  
    options.fileName = fileName;  
  }else{  
      options.fileName = fileName.substr(0,fileName.indexOf('?'));  
  }
  options.mimeType = "image/jpeg";//文件格式,默认为image/jpeg
  var params = new Object();
  params.value1 = "test";
  params.value2 = "param";
  options.params = params;
  options.chunkedMode = false;
  options.headers = {Connection: "close"};

  var ft = new FileTransfer();

  ft.upload(imageURI, serverURL() + "/upload.php", win, fail, options);
}

function win(r){
    if (imgFilename !=  ""){
        deleteOldImg(imgFilename);
    }
    var arr = JSON.parse(r.response);
    imgFilename = arr[0].result;
    alert(r.response);
}

PHP代码:

<?php
try{
$filename = tempnam('images', '');
$new_image_name = basename(preg_replace('"\.tmp$"', '.jpg', $filename));
unlink($filename);

//print_r($_FILES);
move_uploaded_file($_FILES["file"]["tmp_name"], "image/user-photo/2/" . $new_image_name);   
$json_out = "[" . json_encode(array("result"=>$new_image_name)) . "]";
echo $json_out;
}
catch(Exception $e) {
$json_out =  "[".json_encode(array("result"=>0))."]";
echo $json_out;
}
?>

当PHP代码为move_uploaded_file($_FILES["file"]["tmp_name"], 'image/user-photo/2/');时,会出现错误代码 enter image description here

0 个答案:

没有答案