前言:
如今我们对“文件上传成功为什么看不了”大约比较关注,同学们都需要剖析一些“文件上传成功为什么看不了”的相关资讯。那么小编也在网摘上搜集了一些关于“文件上传成功为什么看不了””的相关知识,希望大家能喜欢,朋友们一起来学习一下吧!最近项目需要把附件部署到阿里云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不能用斜划线/开头,往往我们以前做的本地上传都是/开头的,这里需要注意处理一下,否则阿里云会返回错误。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #文件上传成功为什么看不了