如何更改图片上传目录并在 laravel 中查看图片 url

Posted

技术标签:

【中文标题】如何更改图片上传目录并在 laravel 中查看图片 url【英文标题】:How can i change the image upload directory and view image url in laravel 【发布时间】:2021-09-30 22:49:37 【问题描述】:

在我的脚本中,所有上传的图像都进入目录“ib”,但我想将该目录更改为不同的名称,例如。 "imgib"

这是我到目前为止所做的。我将代码值从“ib”更改为“imgib”

                 else 
                    // upload path
                    $path = 'imgib/';
                    // if path not exists create it
                    if (!File::exists($path)) 
                        File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
                    
                    // move image to path
                    $upload = $request->file('uploads')->move($path, $imageName);
                    // file name
                    $filename = url($path) . '/' . $imageName;
                    // method server host
                    $method = 1;
                
                // if image uploded
                if ($upload) 
                    // if user auth get user id
                    if (Auth::user()) $userID = Auth::user()->id; else  $userID = null;
                    // create new image data
                    $data = Image::create([
                        'user_id' => $userID,
                        'image_id' => $string,
                        'image_path' => $filename,
                        'image_size' => $fileSize,
                        'method' => $method,
                    ]);
                    // if image data created
                    if ($data) 
                        // success array
                        $response = array(
                            'type' => 'success',
                            'msg' => 'success',
                            'data' => array('id' => $string),
                        );
                        // success response
                        return response()->json($response);
                     else 
                        if (file_exists('imgib/' . $filename)) $delete = File::delete('imgib/' . $filename);
                        // error response
                        return response()->json(array(
                            'type' => 'error',
                            'errors' => 'Opps !! Error please refresh page and try again.',
                        ));
                    

到目前为止一切正常,它会自动创建“imgib”目录,所有上传都进入“imgib”目录。

但问题是,图片 url 仍然使用相同的旧目录名称。

例如。 site.org/ib/78huOP09vv

如何使其获得正确的网址,例如。 site.org/imgib/78huOP09vv

【问题讨论】:

【参考方案1】:

感谢大家的帮助。我设法通过编辑viewimage.blade.php解决了这个问题

是的,当然需要在编辑文件后清除浏览器缓存。

【讨论】:

以上是关于如何更改图片上传目录并在 laravel 中查看图片 url的主要内容,如果未能解决你的问题,请参考以下文章

创建页面 - 更改图片名称问题 Laravel

Laravel 5.4 显示上传的图片问题

Laravel5多图上传和Laravel5单图上传的功能实现

如何在 laravel 上上传文件并将其存储在目录中

Laravel 8 UniSharp File Manager 3 - 图片已上传但未显示

使用 Laravel 为社交网站创建缩略图