我正在尝试upload
image
使用laravel4
,我已成功设法从file
上传form
并存储在我在公共文件夹中选择的目录中。然而,我遇到的问题是查看图像。我正在Netbeans
进行开发,当我尝试打开新上传的图像时,我被告知图像已损坏。
这是我的表格:
<form action="{{ action('BookController@handleCreate') }}" method="post" role="form" enctype="multipart/form-data">
<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" name="name" />
</div>
<div class="form-group">
<label>Description</label>
<input type="textarea" class="form-control" name="desc" />
</div>
<!-- Img upload -->
<input type="file" name="img"/>
<input type="submit" value="Create" class="btn btn-primary" />
<a href="{{ action('BookController@index') }}" class="btn btn-link">Cancel</a>
</form>
这是我的controller
:
public function handleCreate(){
$book = new Book;
$book->book_name = Input::get('name');
$book->book_desc = Input::get('desc');
$destinationPath = public_path().'/uploads/covers/';//Set up destination path
$file = Input::file('img');//Get the file
$extension = $file->getClientOriginalExtension();//Get the extension
$filename = str_random(12).".".$extension;//Create a filename
$upload_success = $file->move($destinationPath, $filename);//Move the file to the destination
$pathToFile = '/uploads/covers/'.$filename;
echo $pathToFile;
//If successful.....
if($upload_success){
$book->book_cover = $filename;//store value in db
$book->save();//Save the book
return Redirect::action('BookController@index');
}else{//Else return to form with an error message....
return Response::json('error', 400);
}
}
这是我的图片的path
/uploads/covers/VFBDJPqEdI6P.jpg
我的计划是将此路径存储在database
中,然后使用它在屏幕上显示图像。
我不知道为什么,但是当我上传文件时,他们已经被破坏了,如果有人可能建议我可以解决这个问题,我会很感激。
此致
答案 0 :(得分:0)
我试过这个并且工作时没有丢失任何内容
Storage::put($pathToFile,file_get_contents($request->file('img')->getRealPath()));