2016-06-07 47 views
0

嘿家伙我使用jQuery的,AJAX和HTML。这是我的上传照片如何获取图像名称上传到服务器后在科尔多瓦

function uploadPhoto(imageURI) { 
     if (imageURI.substring(0,21)=="content://com.android") { 
      photo_split=imageURI.split("%3A"); 
      imageURI="content://media/external/images/media/"+photo_split[1]; 
     } 
     var options = new FileUploadOptions(); 
     options.fileKey="file"; 
     options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1); 
     //alert(options.fileName); 
     options.mimeType="image/jpeg"; 

     var params = new Object(); 
     params.value1 = "test"; 
     params.value2 = "param"; 

     options.params = params; 
     options.chunkedMode = false; 

     var ft = new FileTransfer(); 
     ft.upload(imageURI, host+"/skripsitemplate/php/upload.php", win, fail, options); 
    } 

    function win(r) { 
     console.log("Code = " + r.responseCode); 
     console.log("Response = " + r.response); 
     console.log("Sent = " + r.bytesSent); 
    } 

此代码工作正常。但我不知道如何获取已经上传到服务器的图像名称。图像名称将被上传到数据库。这是我upload.php的

<?php 
print_r($_FILES); 
$new_image_name = "foto".rand(1,1000)."_".date("Y-m-d-h-i-s").".jpg"; 
move_uploaded_file($_FILES["file"]["tmp_name"], "../web/uploads/".$new_image_name); 
echo $new_image_name; 
?> 

我真正关心科尔多瓦和PhoneGap的事情新手。谢谢你们,有一个愉快的一天

回答

2

根据你的PHP代码,已上载被回复回为echo $new_image_name;的回应,你可以在赢功能物体响应访问的图像的文件名:

function win(r) { 
    console.log("Code = " + r.responseCode); 
    console.log("Response = " + r.response); 
    console.log("Sent = " + r.bytesSent); 
    alert("filename is" + r.response); // <-- this is your filename 
} 

但是,您需要删除$ _FILES对象上的print_r函数,因为它将提供不需要的附加输出。

<?php 
// print_r($_FILES); // <---- remove this 
$new_image_name = "foto".rand(1,1000)."_".date("Y-m-d-h-i-s").".jpg"; 
move_uploaded_file($_FILES["file"]["tmp_name"], "../web/uploads/".$new_image_name); 
echo $new_image_name; 
?> 
+0

非常感谢你@Shadi Shaaban – Rei