使用AJAX和Laravel显示上传的图像

时间:2017-08-29 08:58:56

标签: ajax image laravel upload blade

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

这是我的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);
    }
}

使用Blade的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

重新加载时显示图像,我想显示它而不刷新网站。

1 个答案:

答案 0 :(得分: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])">