выбрать файл, обрезать и загрузить с Angular и PHP - PullRequest
0 голосов
/ 05 февраля 2019

Я следую этому уроку, который нашел в в Интернете , и я правильно установил зависимость.Но я не могу загрузить свой файл на сервер

JS imageChangedEvent: any = '';croppedImage: any = '';

fileChangeEvent(event: any): void {
    this.imageChangedEvent = event;
}
imageCropped(event: ImageCroppedEvent) {
    this.croppedImage = event.base64;
    const formData = new FormData();
    formData.append('file', this.croppedImage);
        this.http.post(this.global.baseUrl + upload.php', formData, {
        }).subscribe(data => {
        console.log(JSON.stringify(data));
        // this.newfileName = (data);
        this.loader = false;
    });
}
imageLoaded() {
    // show cropper
}
loadImageFailed() {
    // show message
}

HTML

                 <image-cropper
                      [imageChangedEvent]="imageChangedEvent"
                      [maintainAspectRatio]="true"
                      [aspectRatio]="4 / 4"
                      [resizeToWidth]="128"
                      format="png"
                      (imageCropped)="imageCropped($event)"
                      (imageLoaded)="imageLoaded()"
                      (loadImageFailed)="loadImageFailed()"
                  ></image-cropper>

PHP

$path = '../upload_imgs/';
if (isset($_FILES['file'])) {
  $originalName = $_FILES['file']['name'];
  $ext = '.'.pathinfo($originalName, PATHINFO_EXTENSION);
  $generatedName = md5($_FILES['file']['tmp_name']).$ext;
  $filePath = $path.$generatedName;
  $photo=array("generatedName"=>($generatedName));
  if (!is_writable($path)) {
    echo json_encode(array(
      'status' => false,
      'msg'    => 'Destination directory not writable.'
    ));
    exit;
  }

  if (move_uploaded_file($_FILES['file']['tmp_name'], $filePath)) {
    echo json_encode(array($photo));
  }
}
else {
  echo json_encode(
    array('status' => false, 'msg' => 'No file uploaded.')
  );
  exit;
}

После обрезки консоль ничего не читает.я что-то не так делаю?

1 Ответ

0 голосов
/ 05 февраля 2019

Здесь не пропущен апостроф:

        this.http.post(this.global.baseUrl + upload.php', formData, {
...