#php #angular #laravel #ionic-framework
#php #angular #laravel #ionic-framework
Вопрос:
У меня есть приложение, разработанное с использованием ionic angular, и я хочу загрузить файлы и отправить на laravel php вот что я сделал, но это не работает.
Вот моя форма отправки в ionic angular :
async submitForm(){
let options = {headers: new HttpHeaders({
'Content-Type': 'multi-part/formdata',
}) };
let formData= new FormData();
formData.append("photo",this.file, this.file.name);
// console.log(formData)
this.http.post<any>(this.env.API_URL 'auth/form', formData, options).subscribe(
data => {
this.alertService.presentToast("تم رفع الملفات بنجاح");
},
error => {
console.log(error);
},
)
сторона laravel:
public function apistore(Request $request)
{
$user = Auth::user()->id;
$this->validate($request, [
// 'photo' => 'required',
]);
$image = $request->{'photo'};
if($image->hasFile('photo'))
{
$file=$image->file('photo');
$filename = $file->getClientOriginalName();
$extension = $file->getClientOriginalExtension();
$picture = date('His').'-'.$filename;
$file->move(public_path().'/attach/images', $picture);
}
$attachments= new attachments();
$attachments->filename=$image;
$attachments->user_id = Auth::user()->id;
$attachments->take_image = $request->{'take_image'};
$attachments->save();
return response()->json([
'success' => true,
'data' => $attachments->toArray(),
'message' => 'Data updated'
]);
}
Обычно я извлекаю данные из ionic таким образом, и это работает
$job_info->job = $request->{'job_info.job'};
Комментарии:
1. каков результат $request::all() в функции контроллера laravel?
2. Если вы dd ($request) в контроллере, можете ли вы увидеть фотографию в запросе?
3. Я думаю, что проблема со значением заголовка. он должен быть составным / form-data, а не составным / formdata
4. Нет, я получил эту ошибку 404 OK», «ошибка»
5. После того, как я отредактировал его, я получил эту ошибку (ошибка 500: {«сообщение»:»Вызов функции-члена HasFile() при null» )