www.yzc577.com百度编辑器Ueditor 上传的图片和别的文件如何上传到 阿里OSS中

( www.yzc577.com )

百度编辑器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('图片上传失败,请稍后重试');
    }
}

(看完/读完)这篇文章有何感想! www.yzc577.com的分享…

发表评论

电子邮件地址不会被公开。 必填项已用*标注