2019-11-04 oss实现浏览器强制下载
1. 需求
项目使用aliyun oss进行附件上传管理,对于文本、图片等上传文件浏览器下载后会直接打开。
现需要下载至本地不直接打开。
2. 实现
/// <summary> /// 获取下载链接 @hexx 2019-10-29 /// </summary> /// <param name="bucketName"></param> /// <param name="key"></param> /// <param name="contentDisposition"></param> /// <param name="path"></param> /// <returns></returns> public static Uri GetPresignedUriByKey(string bucketName, string key, string contentDisposition) { try { var req = new GeneratePresignedUriRequest(bucketName, key, SignHttpMethod.Get); req.ResponseHeaders = new ResponseHeaderOverrides { ContentDisposition = contentDisposition }; var uri = client.GeneratePresignedUri(req); return uri; } catch (Exception ex) { throw ex; } }
调用时将contentDisposition设为"attachment"即可
using(AliyunOssHelper oss = new AliyunOssHelper()) { Uri uri = oss.GetUriFromOss(key, "attachment"); ... }

浙公网安备 33010602011771号