yzc577亚洲城娱乐百度编辑器Ueditor 上传的图片和别的文件怎样上传到 阿里OSS中

( yzc577亚洲城娱乐 )

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

(看完/读完)这篇文章有何感想! yzc577亚洲城娱乐的分享…

发表评论

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