我正在使用Cordova文件上傳插件上傳圖片。我試圖從圖庫上傳圖片到服務器,但文件沒有上傳到服務器。圖片上傳不起作用於科爾多瓦
這是js代碼。
function uploadImage() {
document.getElementById('picture_msg').innerHTML = "";
// Get URI of picture to upload
navigator.camera.getPicture(
function(uri) {
try {
// Pick image from div
var img = document.getElementById('pimage');
img.style.visibility = "visible";
img.style.display = "block";
var imageURI = uri;
if (!imageURI || (img.style.display == "none")) {
document.getElementById('picture_msg').innerHTML = "Tap on picture to select image from gallery.";
return;
}
// Verify server has been entered
server = document.getElementById('server').value;
server = 'http://domain_name/mobile_app/img_upload.php';
console.log("Server "+server);
if (server) {
// Specify transfer options
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
options.chunkedMode = false;
// Transfer picture to server
var ft = new FileTransfer();
ft.upload(imageURI, server, function(r) {
document.getElementById('picture_msg').innerHTML = "Upload successful: "+r.bytesSent+" bytes uploaded.";
img.src = uri;
img.width = 100;
img.height = 100;
},
function(error) {
document.getElementById('picture_msg').innerHTML = "Upload failed: Code = "+error.code;
}, options);
}
else {
document.getElementById('picture_msg').innerHTML = "Server Not Found";
}
}
catch(exce) {
alert(exce);
}
},
function(e) {
console.log("Error getting picture: " + e);
document.getElementById('picture_msg').innerHTML = "No Image Found";
},
{
quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
}
);
}
這裏是img_upload.php代碼。
print_r($_FILES);
$new_image_name = "namethisimage.jpg";
move_uploaded_file($_FILES["file"]["tmp_name"], "mobile_app/".$new_image_name);
我也試過這個。
$dirname = "user_img/";
// If uploading file
if ($_FILES) {
print_r($_FILES);
// mkdir ($dirname, 0777, true);
move_uploaded_file($_FILES["file"]["tmp_name"],$dirname."/".$_FILES["file"]["name"]);
}
我得到上傳成功的消息,但當我檢查服務器上的數據顯示爲空。沒有文件在那裏。
請告訴我在這裏做錯了什麼。
編輯
這似乎是用PHP文件的問題。在網絡服務器的路徑是/public_html/app/user_imgs
我的PHP文件img_upload.php在應用程序文件夾下。
設備控制檯上的任何錯誤?你在實際設備中測試嗎? – Gandhi
設備控制檯上沒有錯誤。我在設備上測試它。不在模擬器上。 – Ironic
嘗試從服務器獲得響應,例如'alert(r.response);' –