2017-08-29 46 views
0

我想显示上传图像的缩略图,而无需重新加载页面(AJAX)。使用AJAX和Laravel显示上传的图像

这里是我的Laravel控制器:

public function save(Request $request) 
{ 
if (Input::hasFile('file')) 
    { 
     $file = $request->file('file'); 
     $name = $file->getClientOriginalName(); 
     Storage::disk('local')->put($name, File::get($file)); 
     $path = 'storage/files/'; 

     return response()->json(array('path'=> $path), 200); 
    } else { 
     return response()->json(false, 200); 
    } 
} 

HTML查看使用刀片:

@foreach($lists as $item) 
    <div style="float: left;"> 
     <img id="preview" src="{{ asset('storage/files/'.$item->name) }}" alt="" with="100" height="100"> 
    </div> 
@endforeach 

这重装的时候,我想无需刷新网页,以显示它显示的图像。

+0

你可以显示你的代码为ajax请求吗? –

+0

我没有任何,我在Laravel创建了JSON响应,但我对AJAX的有限知识不允许我这样做。对不起。 –

回答

0

你不需要AJAX来显示上传图片的缩略图。改变你的form像这样:

<img id="preview" src="{{ asset('storage/files/'.$item->name) }}" alt="" with="100" height="100"> 

<input type="file" name="image" style="display:none"; onchange="document.getElementById('preview').src = window.URL.createObjectURL(this.files[0])">