如何使用 Slim 框架从 android 客户端接收多部分文件?
How to receive multipart files using Slim framework from android client?
我使用改造从 android 客户端发送了图像文件和内容(文本),并试图在服务器端获取它们,但无法做到这一点,错误总是:它为空。
请问如何使用#Retrofit 和 Slim 框架发送和接收图像?
如果有人能提供帮助,我将不胜感激。
................................................ .
尝试从 android 客户端像多部分文件一样发送图像,并使用方法 (getUploadedFiles) 通过 slim 接收它,但没有成功。
@Multipart
@POST("createPostWithImage")
Call<DefaultResponse> uploadTestPost(
@Part("desc") RequestBody desc,
@Part MultipartBody.Part image
);
$app-> post('/createPostWithImage', function(Request $request, Response $response) {
$directory = __DIR__.'../photos/1';
$uploadedFiles = $request->getUploadedFiles();
$uploadedFile = $uploadedFiles['photo'];
$uploadedFile->moveTo($directory);
});
获取从 android 客户端发送的文件并将其保存到特定文件夹。
$app->post('/file', function($request,$response) {
try{
$directory = $this->get('upload_directory');
$uploadedFiles = $request->getUploadedFiles();
$uploadedFile = $uploadedFiles['example1'];
$extension = pathinfo($uploadedFile->getClientFilename(), PATHINFO_EXTENSION);
$basename = mt_rand(10000000, 99999999);
$uploadedFile->moveTo($directory . DIRECTORY_SEPARATOR . $basename.'.'.$extension);
return $response->withJson(array('message' =>$uploadedFile),200);
}
catch(\Exception $ex){
return $response->withJson(array('error' => $ex->getMessage()),422);
}
});
//minimal code to get started ...
我使用改造从 android 客户端发送了图像文件和内容(文本),并试图在服务器端获取它们,但无法做到这一点,错误总是:它为空。 请问如何使用#Retrofit 和 Slim 框架发送和接收图像? 如果有人能提供帮助,我将不胜感激。
................................................ . 尝试从 android 客户端像多部分文件一样发送图像,并使用方法 (getUploadedFiles) 通过 slim 接收它,但没有成功。
@Multipart
@POST("createPostWithImage")
Call<DefaultResponse> uploadTestPost(
@Part("desc") RequestBody desc,
@Part MultipartBody.Part image
);
$app-> post('/createPostWithImage', function(Request $request, Response $response) {
$directory = __DIR__.'../photos/1';
$uploadedFiles = $request->getUploadedFiles();
$uploadedFile = $uploadedFiles['photo'];
$uploadedFile->moveTo($directory);
});
获取从 android 客户端发送的文件并将其保存到特定文件夹。
$app->post('/file', function($request,$response) {
try{
$directory = $this->get('upload_directory');
$uploadedFiles = $request->getUploadedFiles();
$uploadedFile = $uploadedFiles['example1'];
$extension = pathinfo($uploadedFile->getClientFilename(), PATHINFO_EXTENSION);
$basename = mt_rand(10000000, 99999999);
$uploadedFile->moveTo($directory . DIRECTORY_SEPARATOR . $basename.'.'.$extension);
return $response->withJson(array('message' =>$uploadedFile),200);
}
catch(\Exception $ex){
return $response->withJson(array('error' => $ex->getMessage()),422);
}
});
//minimal code to get started ...