doukang2003 2017-04-08 10:23
浏览 110
已采纳

在Laravel 5.3中移动上传的文件

I need to move uploaded images from a temporary location.

The path of an uploaded temp image is as follows:

/storage/tmp/posts/14916460012147460153.jpg

To move the image i am using Storage::move() facade.

  $__fn = basename( $tmpImage );
  Storage::move( 
    storage_path( 'app' ) . '/public/tmp/posts/' . $__fn,
    storage_path( 'app' ) . '/public/images/'.Auth::id().'/posts/' . $__fn
  );

But it throws an error:

FileNotFoundException in Filesystem.php line 385:

File not found at path: D:\Projects\expo\storage\app/public/tmp/posts/14916460012147460153.jpg

Though the file exists and can be found via browser at localhost:8000/storage/tmp/posts/14916460012147460153.jpg

I read the doc of laravel filesystem, but cant understand what is missing here.

  • 写回答

1条回答 默认 最新

  • dsxd62219570 2017-04-08 10:59
    关注

    Please try to use the disk instance instead of the Storage facade and absolute paths:

    Storage::disk('public')->move(
        'tmp/posts/' . $__fn, 
        'images/'. Auth::id() . '/posts/' . $__fn);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?