c++上传oss中文路径报错_C# 从Oss对象存储器上下载文件到本地打包下载代码

        [HttpGet][Route("downloadimgszip")]public void downloadimages(string goodsid){//获取所有图片路径List<string> arraylist = GetAllImagePathsByGoodId(goodsid);var DownPicpath = System.Web.HttpContext.Current.Server.MapPath("/DownPicPackge");//获取IIS服务器临时文件目录   //创建文件夹  if (!Directory.Exists(DownPicpath))Directory.CreateDirectory(DownPicpath);var siteconfig = _configCache.GetConfigSiteGlobal();foreach (var item in arraylist){//从oss服务器上下载图片文件到IIS服务器临时目录文件夹var client = new OssClient(siteconfig.remote_oss_host, siteconfig.remote_oss_accesskey, siteconfig.remote_oss_accesssecret);// 下载文件到流。OssObject 包含了文件的各种信息,如文件所在的存储空间、文件名、元信息以及一个输入流。//这里的item需要注意格式,例如:1233/123.jpg, 路径第一个字符前要是有斜线的一定要去掉,否则会报错var obj = client.GetObject(siteconfig.remote_oss_bucketname, item);var downloadFilename = Path.GetFileName(item);using (var requestStream = obj.Content){byte[] buf = new byte[1024];var fs = File.Open(DownPicpath + "/" + downloadFilename, FileMode.OpenOrCreate);var len = 0;// 通过输入流将文件的内容读取到文件或者内存中。while ((len = requestStream.Read(buf, 0, 1024)) != 0){fs.Write(buf, 0, len);}fs.Close();}}//声明压缩文件名string zipName = DateTime.Now.ToString("yyyyMMddhhmmss") + ".zip";if (File.Exists(zipName)){File.Delete(zipName);}CreateZipFile(DownPicpath, DownPicpath + "/" + zipName);//通知浏览器下载文件而不是打开 FileStream fsstream = new FileStream(DownPicpath + "/" + zipName, FileMode.Open);byte[] bytes = new byte[(int)fsstream.Length];fsstream.Read(bytes, 0, bytes.Length);fsstream.Close();System.Web.HttpContext.Current.Response.ContentType = "application/octet-stream";//通知浏览器下载文件而不是打开  System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;   filename=" + HttpUtility.UrlEncode(zipName, System.Text.Encoding.UTF8));System.Web.HttpContext.Current.Response.BinaryWrite(bytes);System.Web.HttpContext.Current.Response.Flush();System.Web.HttpContext.Current.Response.End();//异步删除压缩前,下载的临时文件Task.Run(() =>{if (Directory.Exists(curDirName))Directory.Delete(curDirName, true);});}/// <summary>/// 创建压缩文件/// </summary>/// <param name="filesPath"></param>/// <param name="zipFilePath"></param>private static void CreateZipFile(string filesPath, string zipFilePath){ if (!Directory.Exists(filesPath)){Console.WriteLine("Cannot find directory '{0}'", filesPath);return;} string[] filenames = Directory.GetFiles(filesPath);using (ZipOutputStream s = new ZipOutputStream(File.Create(zipFilePath))){s.SetLevel(9); // 压缩级别 0-9//s.Password = "123"; //Zip压缩文件密码byte[] buffer = new byte[4096]; //缓冲区大小foreach (string file in filenames){ZipEntry entry = new ZipEntry(Path.GetFileName(file));entry.DateTime = DateTime.Now;s.PutNextEntry(entry);using (FileStream fs = File.OpenRead(file)){int sourceBytes;do{sourceBytes = fs.Read(buffer, 0, buffer.Length);s.Write(buffer, 0, sourceBytes);} while (sourceBytes > 0);}}s.Finish();s.Close();}}

如果代码对您有帮助,帮忙打个赏,支持原创,感谢老铁们的支持。。

5359f1e0c7925feb090526e062d0b922.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于javaweb(springboot+mybatis)生活美食分享平台管理系统设计和实现以及文档报告

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 文末获取源码联系方式 &#x1f4dd; 主要…

idefo功能模型图_利用好预后预测模型,2个月发篇4分+SCI不是梦

大家好&#xff01;今天跟大家分享的文献是2020年5月发表在Cancer Cell International&#xff08;即时影响因子4.03&#xff09;杂志上的一篇文献。文章基于TCGA数据库和GEO数据库中的胃癌相关数据&#xff0c;利用单因素Cox回归分析及LASSO算法分析确定了与胃癌预后紧密相关的…

Java Springboot+VUE前后端分离网上手机商城平台系统设计和实现以及论文报告

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f345; 临近学期结束&#xff…

基于javaweb SSM邮件收发信息系统设计和实现以及文档

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系方式 &#x1f4dd; 项目使…

基于java+springboot+mybatis 网上商城项目设计和实现

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 主要技术&#xff1a;Java、springmvc、mybatis、mysql、tomca…

基于java(springboot+mybatis)网上音乐商城设计和实现以及论文报告

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 文末获取源码联系方式 &#x1f4dd; 主要功…

光耦驱动单向可控硅_光耦继电器在实际应用中的作用以及工作原理!!

由于光耦继电器输入输出间互相隔离&#xff0c;电信号传输具有单向性等特点&#xff0c;因而具有良好的电绝缘能力和抗干扰能力。又由于光耦的输入端属于电流型工作的低阻元件&#xff0c;因而具有很强的共模抑制能力。所以&#xff0c;它在长线传输信息中作为终端隔离元件可以…

基于java(springboot+mybatis)汽车信息管理系统设计和实现以及文档

java毕业设计项目《100套》推荐 主要实现技术&#xff1a;Java、springmvc、springboot、mysql、mybaits、jQuery、js、css等、使用eclipse/idea运行。 主要功能模块 1.用户模块管理&#xff1a;用户登录、用户注册、用户的查询、添加、删除操作、 2.汽车类型管理&#xff1…

基于springboot+mybatis美术馆预约管理系统设计和实现以及文档报告

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 文末获取源码联系方式 &#x1f4dd; 主要技…

v8声卡怎么录制唱歌_V8声卡坑爹?想买的看完再决定,买了的看如何调试声卡...

作为职业声卡测评人&#xff0c;我不想带有主观情绪去评价任何一款声卡&#xff0c;入行的时候&#xff0c;我的师傅告诉我永远要保持客观公正、中立的态度去看待一款产品&#xff0c;因为任何一产品款就像万事万物一样&#xff1a;存在即合理。今天我随意搜索了下V8声卡&#…

重构碎片化知识_荐书|《重构:数字化转型的逻辑》

你好&#xff0c;今天我推荐一本书《重构&#xff1a;数字化转型的逻辑》&#xff0c;先说下我为什么推荐这本书&#xff1a;我在16年本科毕业进入职场&#xff0c;专职于rhinogh工作辅助设计已有三年&#xff0c;或大或小地做了10多个幕墙或内装的BIM应用项目。做这些项目的过…

基于java SSM的房屋租赁系统设计和实现

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f345; 临近学期结束&#xff…

attrib批量显示文件夹_1.2Windows之DOS命令基础篇-学习attrib+del+copy+xcopy命令

学习要点&#xff1a;1.设置文件属性&#xff1a;attrib2.删除命令&#xff1a;del3.复制文件&#xff1a;copy4.复制文件(夹)&#xff1a;xcopy------------------------------------------------------------------一、设置文件属性&#xff1a;attrib显示或更改文件属性。AT…

基于jsp+mysql+Spring的SSM在线蛋糕商城销售网站项目设计和实现

作者主页&#xff1a;Java李杨勇 简介&#xff1a;Java领域优质创作者、【Java李杨勇】公号作者 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 文末获取源码 运行环境: 最好是java jdk 1.8 eclipse tomcat环境&#xff1a; Tomcat 7.x,8 主要功能…

kpi绩效考核流程图_公开!松松团队KPI绩效考核表分享

每个人的管理风格不同、行业不同&#xff0c;也就造成了每个公司的绩效考核不同。今天卢松松就把我们公司的“客服岗位”的KPI绩效考核拿出来和大家分享。我相信&#xff0c;只要您深入阅读本文&#xff0c;您一定会对我们公司的管理、推广、运营都有一个初步的了解&#xff0c…

基于Java jsp+mysql+Spring的汽车出租平台租赁网站平台设计和实现

​​​​​​​主要功能说明&#xff1a; 管理员角色包含以下功能&#xff1a;管理员登录, 用户管理,管理员管理, 订单管理和审核,利润统计, 交易流水管理车辆管理, 汽车品牌管理等功能。 用户角色包含以下功能&#xff1a; 用户登录页面,查看所有租车信息, 查看汽车详…

小程序全局悬浮窗_手机控必须知道的“小白点”技巧,错过真是浪费

大家对于小白点的印象大都来源于苹果手机里的「Assistive Touch」即辅助触控功能。也是我们常说的悬浮窗&#xff0c;一般是灰白色&#xff0c;所以也被称为“小白点”。在全面屏之前的触屏时代&#xff0c;小白点起着非常重要的作用。它相当于一个小菜单栏&#xff0c;你可以在…

java mybatis的SpringBoot博客论坛管理系统

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f345; 临近学期结束&#xff…

c语言将字符串按空格分割_字符串单词输入反向输出怎么搞?C语言又带着二维数组来了!...

01今天给大家安利一份代码&#xff0c;是关于字符串单词输入反向输出的实现效果的&#xff0c;就比如等你输入“welcome to China”&#xff0c;程序会经过处理输出“China to welcome”&#xff0c;具体怎么实现&#xff1f;这里小编用C语言和二维数组进行实现&#xff0c;具体…

基于基于jsp+mysql+Spring的SpringBoot美容院预约管理系统设计和实现

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…