Microsoft Azure Storage Explorer 文件上传
上周主管说,要把每次开过的发票,要下载成Pdf的文件,然后就实时的将这些发票存到云上面去。
就是这个Microsoft Azure ,微软的亲儿子。
先把代码贴上来吧,挺简单的。
1 ##1.链接账号密码 2 StorageCredentials storageCredentials = new StorageCredentials( 3 System.Configuration.ConfigurationManager.AppSettings["Blob_AccountName"].ToString(), 4 System.Configuration.ConfigurationManager.AppSettings["Blob_AccountKey"].ToString() 5 ); 6 CloudStorageAccount storageAccount = new CloudStorageAccount(storageCredentials, "core.chinacloudapi.cn", true); 7 CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 8 CloudBlobContainer container; 9 CloudBlockBlob blockBlob = null;//怎么去实例化声明 10 ##2.下面这个就是将文件上传到Blob中,这个acsh是你的容器的名字,后面加上"/" 就是路径了,我写的这个是年月日的文件夹 11 container = blobClient.GetContainerReference("acsh/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "");
12 ##3.FPQQLSH这个是你传到云里的文件夹的名称。 13 blockBlob = container.GetBlockBlobReference(FPQQLSH); 14 ##4. 文件以byte2stream(fileByte)的形式"流"传入 15 byte[] fileByte = Convert.FromBase64String(Convert.ToBase64String(PDF_FILE)); 16 blockBlob.UploadFromStreamAsync(byte2stream(fileByte));
上面加粗的就是一个路径,为了考虑到以后方便备份和迁移,在Blob容器中创建这种带有这种年月日的文件夹。
一开始在本地用Code去想了最原始的方法,就是先在本地去创建一个年月日的文件夹,还找了许多代码,最后还是不行。
不能跑一个程序就创建一个文件夹吧,到时候大批量的发票就辣么多的文件夹那可就gg了。
然后,就想到直接怼路径咋样,咦~,丢雷亩啊~~~~~~居然行了。。。
string conn = "DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1};EndpointSuffix=core.chinacloudapi.cn"; conn = string.Format(conn, System.Configuration.ConfigurationManager.AppSettings["Blob_AccountName"].ToString(), System.Configuration.ConfigurationManager.AppSettings["Blob_AccountKey"].ToString()); var account = CloudStorageAccount.Parse(conn); var blobClient = account.CreateCloudBlobClient(); string container = ""; if (DSPTBM == "aa") { container = "cc"; } else if (DSPTBM == "AA") { container = "CC"; } else container = "other"; var blobContainer = blobClient.GetContainerReference(container); //check folder string yy = DateTimeOffset.Now.Year.ToString(); string mm = DateTimeOffset.Now.Month.ToString(); string dd = DateTimeOffset.Now.Day.ToString(); string filename = $"{yy}/{mm}/{dd}/{FPQQLSH}.pdf"; var cloudBlockBlob = blobContainer.GetBlockBlobReference(filename); byte[] fileByte = Convert.FromBase64String(Convert.ToBase64String(PDF_FILE)); Task.Run(() => { return cloudBlockBlob.UploadFromStreamAsync(byte2stream(fileByte)); }); return cloudBlockBlob.Uri.ToString();
public static Stream byte2stream(byte[] buffer) { Stream stream = new MemoryStream(buffer); stream.Seek(0, SeekOrigin.Begin); //设置stream的position为流的开始 return stream; }
人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。
标签:
Microsoft Azure
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
2018-04-12 SQL之链接服务器(Sp_addlinkedserver)