我试图将图片从我的apache cordova app上传到我的Php服务器。 我有一个Android应用程序,使用来自服务tu上传文件的相同服务,并且工作完美。
当我尝试从我的apache-cordova上传文件时,我认为服务器没有正确接收文件。
使用我的Android应用程序,我发送一个包含multipart / form-data
的文件这就是我的apache-cordova所做的:
var opciones = {
fileKey: "file",
fileName: "image",
chunkedMode: false,
mimeType: "multipart/form-data",
params : {'fileName': "image"}
};
//guardar imagen cargada
function guardarImagen(urlImagen, opciones) {
debugger;
console.log("la ruta de la imagen es:"+urlImagen);
return $cordovaFileTransfer.upload(cargarImagenUrl, urlImagen, opciones)
.then(function(response) {
respuesta = response;
debugger;
return respuesta;
});
}
我的PHP:
$image = new \Bulletproof\Image($_FILES);
//$idComplejo= $_POST['idComplejo'];
//$idComplejo= $decoded_token->idComplejo;
$idComplejo= "21";
$image->setName("1");
$image->setLocation(__DIR__ . "/../imagenes/complejo----------".$idComplejo);
//$image->setLocation("imagenes/complejo-".$idComplejo);
$image->setSize(1, 1148576);
$image->setDimension(10000, 10000);
$error = "Not uploaded".$image;
if($image['image']){
$upload = $image->upload();
$directorio = "https://www.myhosting.com/imagenes/complejo-".$idComplejo."/1.".$image->getMime();
if($upload){
$result = $db->query("SELECT rutaImagen FROM imagen WHERE idComplejo = :idComplejo AND nroImagen = 1",
array("idComplejo" => $idComplejo));
if(count($result) == 0){
$error.="no se encontro imagen para ese complejo, se procede a guardar";
// Nunca se cargo la imagen nro 1 y se procede a guardarla en la BD
$result = $db->query("INSERT INTO imagen (idComplejo, nroImagen, esPrincipal, rutaImagen) VALUES (:idComplejo, 1, 0, :directorio)",
array("idComplejo" => $idComplejo, "directorio" => $directorio));
$result= mysql_query("") or die(mysql_error());
// Imprimimos
$response["success"] = 1;
$response["message"] = "La imagen se ha guardado correctamente.";
echo ($response);
}
// verificmos que devuelva datos
else if (count($result) > 0) {
$result = $db->query("UPDATE imagen SET rutaImagen = :directorio WHERE idComplejo = :idComplejo AND nroImagen = 1",
array("idComplejo" => $idComplejo, "directorio" => $directorio));
echo json_encode("La imagen se ha actualizado con éxito.");
}
}
else{
$error .= "La imagen no se guardo debido a:" . $image["error"];
}
}
file_put_contents('errors.txt', $error, FILE_APPEND);
file_put_contents('errors.txt', error_get_last(), FILE_APPEND);
?>
行$ error ="未上传"。$ image;没有抓到任何东西
就像我说的,我认为服务器没有正确接收文件。
我正确地获取了我要上传的文件,因为在发送文件之前控制台显示:
" la ruta de la imagen es:file:///data/user/0/com.myapp.example/files/1483828947649.jpg"
我做错了什么?
谢谢!
答案 0 :(得分:0)
错误出现在这个无辜的行中:
$error = "Not uploaded"+$image;
+
运算符尝试将$image
转换为int
。
你可以试试
$error = "Not uploaded" . $image;