angular — ng2-file-upload работает хорошо с php?

Я не знаю почему, но когда я отправляю файл на сервер, текущая страница перезагружается в то же время … Это происходит и с почтальоном.

Я использую копию официального документа.

И я использую SlimFramework:

Маршрут:

$app->post('/api/file/upload', FileController::class . ':add');

Контроллер:

public function add (Request $request, Response $response, $args) {

$imagepath = '';
$files = $request->getUploadedFiles();

$newfile = $files['file'];

if($newfile->getError() === UPLOAD_ERR_OK) {
$uploadFilename = $newfile->getClientFilename();
$newfile->moveTo('../public/src/assets/img/' . $uploadFilename);
$imagepath = "assets/img/" . $uploadFilename;
}

$addIconQuery = 'UPDATE categories SET icon = :icon WHERE id_category = :id';

$stmt = $this->container->get('db')->prepare($addIconQuery);

$stmt->execute([
':id'   => 21,
':icon' => $imagepath
]);

}

Файл правильно загружен и путь добавлен в базу данных.

Любая идея ?

ОБНОВИТЬ

<div class="field">
<input type="file" name="file" ng2FileSelect [uploader]="uploader">
<button type="button" class="btn btn-success btn-xs" (click)="uploader.uploadAll()">
<span class="glyphicon glyphicon-upload"></span> Upload
</button>
</div>

В компоненте

public uploader: FileUploader = new FileUploader({ url: Config.apiUrl + 'api/file/upload' });

ngOnInit() {
this.uploader.onAfterAddingFile = (file) => { file.withCredentials = false; };

this.uploader.onCancelItem = (item:any, response: any, status: any, header:any) => {
console.log('ImageUpload:uploaded:', item, status, response);
}

}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]