Vue js和laravel永久保留上传的图片

时间:2020-07-26 14:30:41

标签: laravel image vue.js file-upload

我写了一个上传图像文件的代码,并且已经可以正常工作了,我还可以将图像URL保存在数据库中。问题是图像未永久加载。这意味着我在上传图片后可以看到该图片,但是保存该图片后,该网址不再有效。有谁知道如何修理它?我的意思是将图像永久存储在我的项目中。我要用户上传并使用自己的图像吗?谢谢您的帮助。

在模板中上传 <input style="margin-left: 35px" type="file" @change="onFileChange" />

显示图像 <img v-if="data.image" :src="data.image" style="max-width:450px;vertical-align:middle;margin:0px 5px 5px"/>

脚本方法

      onFileChange()e {
      const file = e.target.files[0];
      this.data.image = URL.createObjectURL(file);
    },```




1 个答案:

答案 0 :(得分:0)

您可以在Controller中执行以下操作:

    $request->validate([
        'image' => 'required|image|mimes:jpeg,jpg,png,gif|max:2048',
    ]);

    $imageName = time().'.'.$request->image->extension();  //What you store in DB

    $request->image->move(public_path('images'), $imageName); //Put the image in a public folder 

您可以从那里通过URL进行访问。