Получение сохраненных изображений с Dropzone.js - PullRequest
0 голосов
/ 20 апреля 2019

Я пытаюсь получить изображения, хранящиеся в папке, но когда я звоню, изображения дают 404 из-за этого:

http://localhost/xxxx/new/item/77/public/images/item/77/2.jpg

я не знаю, как удалить"new / item / 77 /" и получите изображение в нужную папку:

Мой javascript

$(".dropzone").dropzone({
    init: function() { 
   myDropzone = this;
  $.ajax({
    url: 'image/get',
    type: 'post',
    data: {request: 'fetch'},
    dataType: 'json',
    success: function(response){

      $.each(response, function(key,value) {
        var mockFile = { name: value.name, size: value.size};

        myDropzone.emit("addedfile", mockFile);
        myDropzone.emit("thumbnail", mockFile, value.path);
        myDropzone.emit("complete", mockFile);

      });

    }
  });
}
});

Мой маршрут

Route::post('new/item/{id}/image/get','ItemController@fileGet');    

Мой контроллер

 public function fileGet(Request $request){

    $fileList = [];
    $targetDir= 'public/images/item/77/';
    $dir = $targetDir;
    if (is_dir($dir)){
      if ($dh = opendir($dir)){
        while (($file = readdir($dh)) !== false){
          if($file != '' && $file != '.' && $file != '..'){
           $file_path = $targetDir.$file;
           if(!is_dir($file_path)){
           $size = filesize($file_path);
           $fileList[] = ['name'=>$file, 'size'=>$size, 'path'=>$file_path];
           }
         }
       }
  closedir($dh);
   }
  }

  echo json_encode($fileList);
exit;

}

То, что я ожидаю, это

http://localhost/xxxx/public/images/item/77/2.jpg

Или, если кто-нибудь знает лучший способ получить файлы, хранящиеся в dropzone.js Thnaks!

1 Ответ

0 голосов
/ 20 апреля 2019
 $(".dropzone").dropzone({

init: function() {
  Dropzone = this;
  $.ajax({
    url: APP_URL + '/image/get',
    type: 'post',
    dataType: 'json',
    success: function(response){

      $.each(response, function(key,value) {
        var mockFile = { name: value.name, size: value.size};

Dropzone.options.addedfile.call(Dropzone, mockFile);
Dropzone.options.thumbnail.call(Dropzone, mockFile, APP_URL+"/"+value.path);
Dropzone.options.complete.call(Dropzone, mockFile);

      });

    }
  });
}
 });
...