场景
之前的文件上传是直接上传的云服务器上的某个目录下,由于用户上传的文件数量越来越多导致云盘快满了。想要在尽量不更改之前文件上传代码的逻辑上解决这个问题。
解决方法
把之前用户上传文件的目录挂载到oss中,上传文件的代码只需要把文件的域名改为oss的域名即可。
操作步骤
1.登录linux服务器下载阿里云的oss工具 ossfs1.登录linux服务器下载阿里云的oss工具 ossfs
sudo wget https://gosspublic.alicdn.com/ossfs/ossfs_1.91.4_centos7.0_x86_64.rpm
2.配置ossfs
通过ossfs访问OSS存储空间时,需要配置账号信息,即AccessKey ID和AccessKey Secret。这些账号信息需要按照特定的格式写到账号配置文件中。当挂载OSS Bucket时,会从这个账号配置文件上获取账号信息,格式为$bucket_name:$access_key_id:$access_key_secret。
echo <BucketName>:<yourAccessKeyId>:<yourAccessKeySecret> > /etc/passwd-ossfs
挂载指定目录到oss
以下示例用于将华东1(杭州)地域下bucket-ossfs-test存储空间中的folder目录挂载到/tmp/ossfs-folder下。
ossfs bucket-ossfs-test:/folder /tmp/ossfs-folder -ourl=http://oss-cn-hangzhou.aliyuncs.com
以下为我用的方式 其中 -ononempty 表示服务器挂载的目录不是空的目录,-oallow_other表示权限为所有用户可以访问
ossfs jiaoguanyi008:/img /www/wwwroot/service.jiaoguanyi.cn/public/upload/lost+found/img -ononempty -ourl=http://oss-cn-hangzhou.aliyuncs.com -oallow_other
挂载后的效果
可以看到服务器挂载后的目录文件就是oss挂载中的目录文件,之前上传到服务器中该目录的文件将会在oss中
参考文档:ossfs使用方式