ossfs挂载百度对象存储_ossfs工具将OSS挂载到阿里云linux系统目录例子

还有一种情况,也需要注意,新版的阿里云oss已经不支持用阿里云的域名直接浏览资源了。必须要用自定义域名才可以浏览资源,否则会变成下载。

阿里云官方解释“:

OSS+CDN访问文件直接下载

https://help.aliyun.com/knowledge_detail/39545.html

问题描述:

OSS在配置完CDN后,访问文件链接,文件直接变下载了。

解决方案:

1、首先查看OSS源文件的header头部Content-Type的设置值,比如:页面是text/html,图片是image/jpeg,MP3是audio/mp3,MP4是video/mpeg4等。设置文件Content-Type的方式请参见OSS 如何设置 Content-Type。

2、查看CDN配置的回源host是否使用客户自己的加速域名。不能使用OSS自带的域名,如果使用OSS的自带域名会导致文件强制下载。

3、如上两点修改完毕后,发现访问CDN的URL文件还是强制下载,需要到CDN管理控制台去提交URL刷新或者目录刷新。详情请参见刷新预热。

ossfs 是基于 aliyun OSS 的 fuse 客户端了,所以我们把它用在阿里云上肯定是没有错了,下面来看一篇关于ossfs工具将OSS挂载到阿里云linux系统目录例子,具体的细节如下文介绍。

以Centos为例

下载安装包:

运行安装包:

yum -y localinstall  ossfs_1.79.8_centos6.5_x86_64.rpm

写入你需要挂载的OSS bucket名称,Access Key ID 和 Access Key Secret等信息,格式如下

echo bucketname:AccesskeyID:Accesskeysecret > /etc/passwd-ossfs

修改该文件权限

chmod 640 /etc/passwd-ossfs

挂载到系统目录,已/oss目录为例

mkdir /data/oss

启动挂载,请自行修改参数

ossfs bucketname /data/oss -ourl=OSS节点地址 -o allow_other

-o allow_other

为允许非root账户使用此目录

OSSFS发布地址:阿里云论坛

OSSFS官方FAQ:gihub

PS:如何开机自动挂载ossfs

通过 fstab 的方式自动 mount

在 /etc/fstab 中加入下面的命令

ossfs#your_bucket_name your_mount_point fuse _netdev,url=your_url,allow_other 0 0

其中上述命令中的 your_xxx 信息需要根据您的 bucket name 等信息填入。

保存 /etc/fstab 文件。执行 mount -a 命令,如果没有报错,则说明设置正常。

还需要执行下面的命令:

chkconfig netfs on

PS:使用ECS挂载ossfs,如何避免因后台程序扫描文件而产生费用?

程序扫描ossfs挂载的目录,会转换成向OSS的请求,如果请求次数很多,会产生费用(1分钱/1万次)。如果是updatedb,可以通过修改/etc/updatedb.conf让它跳过。具体做法是:

在PRUNEFS =后面加上fuse.ossfs

在PRUNEPATHS =后面加上挂载的目录

PS:使用ossfs上传到OSS的文件Content-Type全是”application/octet-stream”是怎么回事?

ossfs 通过查询 /etc/mime.types 中的内容来确定文件的 Content-Type ,请检查这个文件是否存在,如果不存在,则需要添加:

对于centos可以通过 yum install mailcap 来添加

也可以手动添加,每种格式一行,每行格式为: application/javascript js

service netfs  start,netfs服务必须启动,

设置开机启动chkconfig netfs on

文件扩展名Content-Type(Mime-Type)文件扩展名Content-Type(Mime-Type)

.*( 二进制流,不知道下载文件类型)

application/octet-stream

.tif

image/tiff

.001

application/x-001

.301

application/x-301

.323

text/h323

.906

application/x-906

.907

drawing/907

.a11

application/x-a11

.acp

audio/x-mei-aac

.ai

application/postscript

.aif

audio/aiff

.aifc

audio/aiff

.aiff

audio/aiff

.anv

application/x-anv

.asa

text/asa

.asf

video/x-ms-asf

.asp

text/asp

.asx

video/x-ms-asf

.au

audio/basic

.avi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将文件上传到阿里云对象存储(OSS)中的Spring Boot,你可以按照以下步骤进行操作: 1. 首先,确保你已经在阿里云上创建了一个OSS存储空间,获取到该存储空间的访问密钥ID和密钥。 2. 在你的Spring Boot项目中,添加阿里云Java SDK的依赖。你可以在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.12.0</version> </dependency> ``` 3. 创建一个OSS客户端对象,用于与OSS进行交互。在你的代码中,可以使用以下方式创建OSSClient对象: ```java import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; String endpoint = "your_oss_endpoint"; // OSS服务的Endpoint String accessKeyId = "your_access_key_id"; // 访问密钥ID String accessKeySecret = "your_access_key_secret"; // 访问密钥Secret OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); ``` 4. 使用OSSClient对象将文件上传到OSS。以下是一个示例方法,用于将本地文件上传到OSS: ```java import com.aliyun.oss.model.*; public void uploadFile(String bucketName, String objectName, String localFilePath) { // 上传文件的方法 ossClient.putObject(bucketName, objectName, new File(localFilePath)); } ``` 在上述示例中,`bucketName`是你的OSS存储空间名称,`objectName`是上传后在OSS中的文件名,`localFilePath`是本地文件的路径。 5. 最后,记得在程序结束时关闭OSSClient对象: ```java ossClient.shutdown(); ``` 通过以上步骤,你就可以将文件上传到阿里云对象存储(OSS)中的Spring Boot应用程序中了。请确保提供正确的访问密钥和存储空间信息,并根据你的实际需求进行适当的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值