如何获取图像名称上传到服务器后在科尔多瓦
问题描述:
嘿家伙我使用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的事情新手。谢谢你们,有一个愉快的一天
答
根据你的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;
?>
非常感谢你@Shadi Shaaban – Rei