hyperf oss上传

官方文档:hyperf 文件系统

安装

composer require hyperf/filesystem
composer require xxtime/flysystem-aliyun-oss
# 生成配置文件
php bin/hyperf.php vendor:publish hyperf/filesystem

 安装oss时报错

 

 修改composer.lock

将2.3.2 更改为1.0.49,再次执行composer

图片上传程序

use Hyperf\Utils\Str;
use Hyperf\Filesystem\FilesystemFactory;
use Hyperf\HttpServer\Contract\RequestInterface;

/**
 * 图片文件oss
 * @RequestMapping(path="upload_avatar_oss", methods="post")
 * @param RequestInterface $request
 * @param FilesystemFactory $factory
 * @return array
 * @throws \League\Flysystem\FileExistsException
 */
public function uploadAvatarOss(RequestInterface $request, FilesystemFactory $factory)
{
    $file_type = $request->input('file_type', 'uploads'); // 保存位置
    $file = $request->file('avatar');
    $oss = $factory->get('oss');
    $allowedArr = ['jpeg', 'gif', 'jpg', 'png'/*, 'mp3', 'mp4'*/];
    $ext = strtolower($file->getExtension());
    if (!in_array($ext, $allowedArr)) {
        throw new ServiceException(403, '上传格式不允许');
    }
    $folderPath = $file_type . '/' . date('Ymd') . '/' . Str::random(16) . '.' . $ext;

    $contents = file_get_contents($file->getRealPath());
    $res = $oss->write($folderPath, $contents);
    unset($contents);
    if($res == false) {
        return ['code' => ResponseCode::CODE_ERROR, 'msg' => "上传失败", 'data' => [$res]];
    }
    return ['code' => ResponseCode::CODE_SUCCESS, 'msg' => "上传成功", 'data' => [
        'full_path' => config('oss_document_url') . $folderPath],
        'path' => $folderPath,
    ];
}

 

在Node.js中使用OSS(阿里云对象存储)进行文件上传,你可以按照以下步骤进行操作: 1. 首先,在你的项目目录下,通过npm安装ali-oss库。可以使用以下命令:npm install ali-oss --save。 2. 创建一个OSS配置文件(比如server/oss.js),在该文件中配置OSS的相关信息,包括Region(Bucket所在地域)、accessKeyId(你的阿里云账号的Access Key ID)、accessKeySecret(你的阿里云账号的Access Key Secret)以及bucket(你的Bucket名称)。 3. 在你的上传组件中(比如components/uploadimage.vue),引入刚才创建的OSS配置文件并创建一个OSS客户端。 4. 在上传组件中,通过调用OSS客户端的upload方法来实现文件上传。你可以通过创建一个上传按钮,并在点击按钮时触发上传操作。上传时需要提供需要上传的文件的路径以及目标路径。 5. 在上传成功或失败的回调函数中,你可以根据返回的结果来处理相应的逻辑,比如显示上传成功或失败的消息提示。 总结一下,使用Node.js进行OSS文件上传的步骤如下: 1. 安装ali-oss库。 2. 创建OSS配置文件,并配置相关信息。 3. 在上传组件中引入OSS配置文件并创建OSS客户端。 4. 创建上传按钮,并在点击按钮时触发上传操作。 5. 在上传成功或失败的回调函数中处理相应逻辑。 希望对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue+node.js操作阿里云OSS上传和删除文件](https://blog.csdn.net/weixin_42966151/article/details/129029386)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值