2015-06-20 54 views
0

我正在使用Laravel 5.1。
上傳文件類型jpeg,gif,png正在工作,但pdf,doc,docx,txt文件類型不起作用。無法上傳一些文件類型

這是我的視圖

{!! Form::label('department','Department', ['class'=>'col-sm-2 control-label']) !!} 
<div class="col-sm-10"> 
    {!! Form::select('department', $departmentList, null, ['class'=>'form-control']) !!} 

    <span style="color: red">{{ $errors->first('department') }}</span> 
</div> 
<div class="form-group"> 

    {!! Form::label('document','Chose a file or Document', ['class'=>'col-sm-2 control-label']) !!} 

    <div class="col-sm-10"> 

     {!! Form::file('file', null, ['class'=>'form-control']) !!} 
     <p class="help-block">Upload your document in pdf, doc. jpg, png, tif, gif</p> 
     <span style="color: red"> {{ $errors->first('file') }}</span> 
    </div> 
</div> 
{!! Form::close() !}} 

我FormRequest

public function rules() 
{ 
    return [ 
     'user_id'=>'integer', 

     'department'=>'required', 
     'file'=>'required|mimes:application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/pdf, jpeg, png, gif' 
    ]; 
} 

}

和我的控制器

public function update($id, RepositoryRequest $request) 
    { 
    $repository = Repository::findOrFail($id); 
    $repository->department = $request->input('department'); 



    $file = \Input::file('file'); 
    $filename = date('Y-m-d-H:i:s').'-'.$file->getClientOriginalName(); 

    $path =public_path('/img/repository/').$filename ; 
    \Image::make($file->getRealPath())->resize(468, 249)->save($path); 

    $repository->file = 'img/repository/'.$filename; 

    $repository->save(); 

    return redirect('/')->with('flash_message', 'You have successfully updated the repository'); 

這是錯誤:

NotReadableException in Decoder.php line 21: Unable to read image from file (/tmp/phpdNQvEG).

回答

2

嘗試使用http://laravel.com/docs/5.1/filesystem到STOR文件。

public function UploadImage() { 
$file = Request::file('filefield'); 
$extension = $file->getClientOriginalExtension(); 
Storage::disk('local')->put($file->getFilename().'.'.$extension, File::get($file)); 
$entry = new Upload(); 
$entry->mime = $file->getClientMimeType(); 
$entry->original_filename = $file->getClientOriginalName(); 
$entry->filename = $file->getFilename().'.'.$extension; 

$entry->save(); 

$file = Storage::disk('local')->get($entry->filename); 

return (new Response($file, 200))->header('Content-Type', $entry->mime); 

}

+0

好吧,讓我們遇到試一試勝u能告訴我爲什麼PNG,JPEG,混帳worksbut沒有文檔,PDF,或TXT。有什麼事情做錯了嗎?謝謝你 – Henry

+1

你用\ Image :: make來保存文檔,pdf,txt這可能是問題。 –