1. 需求浏览器
项目使用aliyun oss进行附件上传管理,对于文本、图片等上传文件浏览器下载后会直接打开。ide
现须要下载至本地不直接打开。spa
2. 实现code
/// <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"便可blog
using(AliyunOssHelper oss = new AliyunOssHelper()) { Uri uri = oss.GetUriFromOss(key, "attachment"); ... }