【问题标题】:Change image name and store image problem in Laravel project在 Laravel 项目中更改图像名称和存储图像问题
【发布时间】:2022-01-26 04:20:47
【问题描述】:

我想在 Laravel 项目中更改图像名称跟随视频 id。但是当我上传并保存图像时,保存在数据库名称变为/tmp/phpRXDHFh,我希望图像名称保存在数据库中为public/video/themnull/video-id.png。如何解决这个问题?并且也使用下面的代码,图像没有存储在public/video/themnull 文件夹中。不知道哪里出了问题。

这是控制器的代码

if ($request->hasFile('video_path') != '') {

    $art_video = $request->file('video_path');
    $ad_video_name = uniqid('video_') . Str::random('10') . '.' . $art_video->getClientOriginalExtension();
    $created_id = 0;

    $video_image_path = $request->file('image_path');
    $video_image_name =  $art_video->id. '.' . $video_image_path->getClientOriginalExtension();
    $video_image_path_resize = Image::make($video_image_path->getRealPath());
     $video_image_path_resize->resize(400, 200);
    if ($video_image_path->isValid()) {

        $video_image_path_resize->save(public_path('video/themnull/' . $video_image_name));
        $video_image_path = 'public/video/themnull/' . $video_image_name;
        $data['image_path'] = $video_image_path;
    }

【问题讨论】:

  • 嗨,James,可以帮我解决问题吗?

标签: php mysql laravel database image


【解决方案1】:

使用move函数代替storeAs

这里是文档: https://laravel.com/docs/8.x/filesystem#copying-moving-files

something like below:

const PATH = 'your-address-in-public-folder';
$extention = $file->getClientOriginalExtension();
$filename = rand(111111, 999999) . "." . $image_extention;
$file->move($destination, $image_filename);

【讨论】:

  • 您好,视频存储到服务器可以,只是图像路径。
  • 从我在控制器的代码中,我不知道哪个部分出了问题。
  • 当您的条件为假时,您需要检查您的代码,并在文件无效时为该代码编写逻辑,因为当文件无效并且您设置临时 url 时会出现问题文件
  • 您删除了所有功能,但我认为,即使文件无效,您也可以保存文件!
  • 删除功能?不......对不起,我用完了 Laravel
【解决方案2】:

我不熟悉您保存图像的方法。我会告诉你我通常是如何练习的。通常我会为名称创建新变量,可以这样说:

$video_image_name = "public/video/themnull/video-id.png";

或者如果你想添加 id:

$video_image_name = "public/video/themnull/".$art_video->id.".png";

然后我会通过调用模型来保存它。例如,我的模型是 MyImage,其中包含字段名称“newName”和“path”。我就是这样保存的:

MyImage::create([
     'newName'=> $video_image_name,
     'path'   => "public/video/themnull". $video_image_name,
]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-17
    • 2020-12-08
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 2017-10-06
    • 1970-01-01
    相关资源
    最近更新 更多