扫码关注官方订阅号
百度编辑器Ueditor 上传的图片和别的文件如何上传到 阿里OSS中
求大牛 或者做过的帮帮小弟 在这里卡了几天了 万谢
欢迎选择我的课程,让我们一起见证您的进步~~
上传目录通过配置 imagePathFormat 格式的参数指定,配置位置在 php/config.json 里。详细用法看 上传路径配置
window 一般情况都会有权限读写,在 linux 和 mac 系统下,需要注意运行 php 的用户,有没有权限读写上传目录。
IIS 服务器挂接 PHP 的情况下,注意上传目录不在程序目录下时,要设置 "启用父路径" 为true,才能正常访问父目录。
Ueditor图片上传
我做的时候都是先上传到服务器。这个时候图片存储到/tmp 目录,我然后直接在这个目录对这个文件进行常规检测或者做一些处理什么,然后将这个文件上传到阿里云,最后给客户端返回可用链接就好了。
我的代码 使用的laravel
/** * 图片上传 * @param response @file 图片资源 * @param string $url 上传的图片路径前缀 * @param string $prefix 上传的图片文件名前缀 */ public function image_upload(Request $request){ $file = $request->file('file'); if (empty($file)) { return $this->error('请选择需要上传的图片或者文件'); } $type = $request->input('type'); $config = Config::get('upload.image.' . $type); if (empty($config)) { return $this->error('参数不正确', 100); } $path = $config['path']; $prefix = $config['prefix']; $path = trim($path, '/') . '/'; $prefix = trim($prefix, '.'); $tmp_file_name = $file->getPathname(); $endpoint = env('ALIOSS_ENDPOINT'); //判断文件类型 $exif = exif_imagetype($tmp_file_name); if ($path == '/') { $path = ''; } $uploaded_file_name = $path . uniqid($prefix, true) . '.' . pathinfo($file->getClientOriginalName(), PATHINFO_EXTENSION); if ($exif != IMAGETYPE_JPEG && $exif != IMAGETYPE_PNG) { return $this->error('选择的文件格式不正确,文件的格式为png,jpg,jpeg'); } //初始化OSS try { $ossClient = new OssClient(env('ALIYOSS_ID'), env('ALIOSS_SECRET'), $endpoint); } catch (OssException $e) { return $this->error('图片上传失败,请稍后重试'); } //上传文件 try { $bucket = env('ALIOSS_BUCKET'); $ossClient->uploadFile($bucket, $uploaded_file_name, $tmp_file_name); $image_url = 'http://' . $bucket . '.' . $endpoint . '/' . $uploaded_file_name; //上传成功 // Redis::rpush('image_list', $uploaded_file_name); // Redis::set('image_list_' . $uploaded_file_name, json_encode(['url' => $image_url, 'time' => time()])); return $this->success(['url' => $image_url]); } catch (OssException $e) { return $this->error('图片上传失败,请稍后重试'); } }
楼主解决了吗?我也正在解决这个问题
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
上传目录通过配置 imagePathFormat 格式的参数指定,配置位置在 php/config.json 里。详细用法看 上传路径配置
window 一般情况都会有权限读写,在 linux 和 mac 系统下,需要注意运行 php 的用户,有没有权限读写上传目录。
IIS 服务器挂接 PHP 的情况下,注意上传目录不在程序目录下时,要设置 "启用父路径" 为true,才能正常访问父目录。
Ueditor图片上传
我做的时候都是先上传到服务器。这个时候图片存储到/tmp 目录,我然后直接在这个目录对这个文件进行常规检测或者做一些处理什么,然后将这个文件上传到阿里云,最后给客户端返回可用链接就好了。
我的代码 使用的laravel
楼主解决了吗?我也正在解决这个问题