laravel 5不会从存储部分删除文件

时间:2016-12-01 13:15:37

标签: php laravel laravel-5 laravel-5.2

当我尝试通过控制器删除特定文件时出现错误

  

抱歉,找不到您要查找的页面。   NotFoundHttpException

这是我的控制者:

  Route::delete('documents/{file}','FilesController@destroyFile');

我的路线:

    {!! Form::open(['method' => 'DELETE', 'action' =>     ['FilesController@destroyFile', $file->name] ]) !!}
                            {!! Form::hidden('_method', 'DELETE') !!}
                            {!! Form::token() !!}
                            {!! Form::submit(trans('buttons.del-cat'),['class'=>'btn btn-danger user-delete push-right']) !!}
                            {!! Form::close() !!}

我的观点:

{{1}}

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,一切都设置正确,但仍然无法正常工作。

而不是Storage::delete()我使用File::delete()来修复它。

希望这有效!

答案 1 :(得分:0)

public function images(Request $request,$id){
    $user_id=$request->session()->get('user_id');
    $data=DB::table('company_images')->where('id',$id)->first();
    //deleteing the image from database and server
    DB::table('company_images')->where('id', '=', $id)->delete();
    //delete the image form the server
    $path=public_path("/assets/img/company/$data->image");
    unlink($path);
    return redirect("/company/$user_id/add_details")->with('delete','delete');

}

这是我用来删除公司图像的功能,使用unlink($ path)这对我来说也很好用,也是大注:你应该仔细写下你删除的文件的路径。

答案 2 :(得分:0)

您必须在public中设置filesystem.php

'default' => env('FILESYSTEM_DRIVER', 'public')

而不是:

'default' => env('FILESYSTEM_DRIVER', 'local')

local更改为public