【发布时间】:2015-07-27 02:22:45
【问题描述】:
我正在使用 Retrofit 库将文件上传到 php 服务器,但出现了 Unknow error。
这是我的 Android 代码:
改造服务:
@Multipart
@POST("/upload_image.php")
public void uploadImage(@Part("file") TypedFile file, @Query("id_client") long id_client, @Query("id_obj") long id_obj, Callback<Boolean> callback);
上传代码:
public void uploadImage(String imagePath, long, clientId, Obj obj, Callback<Boolean> callback) {
TypedFile typedFile = new TypedFile("application/octet-stream", new File(imagePath));
mService.uploadImage(typedFile, clientId, obj.getId(), callback);
}
php代码:
if(move_uploaded_file($_FILES["file"]["tmp_name"], $destination)){
echo ("Stored in".$_SERVER[DOCUMENT_ROOT]."/Uploader/UploadedFiles/".$_FILES["file"]["name"]);
} else {
$html_body = '<h1>File upload error!</h1>';
switch ($_FILES[0]['error']) {
case 1:
$html_body .= 'The file is bigger than this PHP installation allows';
break;
case 2:
$html_body .= 'The file is bigger than this form allows';
break;
case 3:
$html_body .= 'Only part of the file was uploaded';
break;
case 4:
$html_body .= 'No file was uploaded';
break;
default:
$html_body .= 'unknown errror';
}
echo ($html_body);
}
图片上传时,服务器返回:“未知错误”。
【问题讨论】: