网站首页 > 教程文章 正文
最近项目需要把附件部署到阿里云oss,集成过程中发现上传的图片不能直接打开预览,只能下载到本地保存。
解决办法:设置ContentType
var endpoint = "阿里云OSS EndPoint";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
var accessKeyId = "阿里云OSS AccessKeyId";
var accessKeySecret = "阿里云OSS AccessKeySecret";
// 填写Bucket名称。
var bucketName = "阿里云OSS BucketName";
var client=new OssClient(endpoint, accessKeyId, accessKeySecret);
// 创建上传文件的元信息,可以通过文件元信息设置HTTP header。
ObjectMetadata meta = new ObjectMetadata();
string contentType = IOHelper.GetContentType(Path.GetExtension(path));
meta.ContentType = "image/jpeg";//这里可自行根据附件格式封装方法获取
//meta.ContentEncoding = "utf-8";
var objectName = "upload/1.txt"; //这里需要注意,本地一般用/开头,但是阿里云oss不能用/开头
// 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。
var localFilename = IOHelper.MapPath(path);
client.PutObject(bucketName, objectName, localFilename, meta);
meta.ContentType = "image/jpeg";//这段是关键,不定义的话阿里云oss会默认application/octet-stream,所有附件都会被当成二进制流(或不确定文件类型)下载。
还有一个注意点是objectName不能用斜划线/开头,往往我们以前做的本地上传都是/开头的,这里需要注意处理一下,否则阿里云会返回错误。
猜你喜欢
- 2024-12-22 有遇到部署服务器后刷新404问题吗?
- 2024-12-22 PolarDB-X on OSS: 冷热数据分离存储
- 2024-12-22 阿里云OSS+又拍云CDN加速 又拍云cdn配置
- 2024-12-22 uniapp 上传阿里云oss uniapp上传图片到服务器失败
- 2024-12-22 阿里云产品火爆的存储服务-对象存储OSS
- 2024-12-22 阿里云OSS对象存储STS鉴权配置 简要介绍阿里云对象存储oss的使用场景
- 2024-12-22 spring boot上传阿里云对象存储OSS快速上手(一、控制台简介)
- 2024-12-22 配置阿里云OSS图床 阿里云 oss 图片
- 2024-12-22 Springboot项目整合阿里云OSS看这篇就够了
- 2024-12-22 阿里oss开源实现,分布式存储对象MinIO介绍
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)