아파치 코드바 앱에서 PHP 서버로 이미지를 업로드하려고합니다. 서브 tu 업로드 파일과 동일한 서비스를 사용하는 Android 앱이 있으며 완벽하게 작동합니다.PHP 서버가 multipart/form-data를 올바르게 수신하지 못합니다.
아파치 코드바에서 파일을 업로드하려고 할 때 서버가 파일을 올바르게 수신하지 못한다고 생각합니다. 내 안드로이드 응용 프로그램으로
나는
이 내 아파치 코르도바 할 것입니다 다중/폼 데이터로 파일을 보내 :
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; 아무 것도 잡히지 않는다
내가 말했듯이, 나는 서버가 파일을 올바르게 수신하지 못한다고 생각한다.
내가 제대로 내가 콘솔 전에 파일 쇼를 보낼 수 있기 때문에 업로드 할 파일을 받고 있어요 :
"라 루타 드 라 된 imagen ES : 파일 : /// 데이터/사용자/0/com.myapp.example/files/1483828947649.jpg "
내가 잘못하고있는 것은 무엇입니까?
감사합니다.
자신의 질문을 고의로 파괴에 대한 부결. –