【问题标题】:Changing image dynamically in Laravel 5.3在 Laravel 5.3 中动态更改图像
【发布时间】:2017-03-31 15:17:21
【问题描述】:

如何动态更改图片:

<img id="avatarimg" src="{{ route('avatar.image') }}">

...选择后:

<input id="userImage" type="file">

例如,我想是这样的:

 $("#userImage").change(function(){
            alert("!!");
            $.ajax({
            method: "GET",
            url: "/useravatar1",
            data: {_token:token} })
            .done(function(msg){
                $("#avatarimg").attr("src", msg);
        });

还有路线:

public function getUserAvatar1(){

    $path = Auth::user()->avatar;
    $file = Storage::disk('local')->get($path);
    return new Response($path, 200);

}

但它不是动态工作的,只是通过路由静态工作。

我该怎么做?

【问题讨论】:

  • 您想在文件选择上显示图像还是想上传并渲染新的?
  • 已经被其他路由上传了。现在我只想展示它。

标签: javascript php html laravel laravel-5


【解决方案1】:

我没有使用过 Laravel 5.3,但是,

尝试在 PHP 端返回 $file 而不是 $path 并尝试以 alert(msg) 作为响应;

$file = Storage::disk('local')->get($path);
return new Response($file, 200);

【讨论】:

  • 我试过了,提醒我只收到一些杂文。
  • 能发一下吗
  • @ArturHC 好的尝试 Storage::url($path);而不是 Storage::disk('local')->get($path);
  • 是的,它在警报中返回正确的路径,但没有显示图像。我认为这是因为 laravel 安全性。
  • 您是否尝试使用 Javascript 动态更改 input type="file" 的值?
猜你喜欢
  • 2012-08-01
  • 2017-03-26
  • 1970-01-01
  • 2017-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多