Я отправил файл изображения и содержимое (текст), используя модификацию клиента Android, и попытался получить их на стороне сервера, но не могу этого сделать, и ошибка всегда: это значение null. Пожалуйста, как я могу отправить изображение и получить его с помощью #Retrofit и Slim framework? Если кто-то может помочь, я буду признателен.
.............................................. Пытался отправить изображение из клиента Android как составной файл и получить его с помощью тонкого метода (getUploadedFiles), но это не сработало.
@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 ...