嘿伙计们我正在使用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;
?>
我真的是关于cordova和phonegap事情的新手。谢谢你们,祝你们度过愉快的一天
答案 0 :(得分:2)
根据您的PHP代码,上传的图像的文件名将作为 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
}
中的响应回复,您可以在win函数中将其作为对象响应进行访问:
<?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;
?>
但是,您需要删除$ _FILES对象上的print_r函数,因为它将提供不需要的额外输出。
*