Azure Storage的SDK并没有提供文件重命名的方法,而且从StorageExplorer管理工具里操作修改文件名的时候也有明确提示:

是通过复制当前文件并命名为新文件名再删除旧文件,不保存快照信息,而且在重命名大文件的时候可能会花费较长时间。

官方的管理工具都没有直接重命名的方法,因此得知Storage的设计机制暂不支持文件直接重命名,但我们也可以从管理工具的提示语中得到解决方案,就是先复制文件到新文件名再删除旧文件,虽然这相当令人费解。。。但也是没有办法的办法,而且笔者查找的来的方法都是如此。。。

http://stackoverflow.com/questions/3734672/azure-storage-blob-rename

http://stackoverflow.com/questions/16121503/cant-rename-blob-file-in-azure-storage

目前Storage没有支持,那我们也只好这样处理了,具体代码如下:

         /// <summary>
/// 文件重命名
/// <para>Azure不支持直接重命名,需要将文件复制为新文件,再删除旧文件</para>
/// </summary>
/// <param name="fileOldName">旧文件名(需包含拓展名)e.g. old.jpg </param>
/// <param name="fileNewName">新文件名(需包含拓展名)e.g. new.jpg</param>
/// <returns></returns>
public bool RenameFile(string fileOldName, string fileNewName)
{
var blobOld = this.Container.GetBlockBlobReference(fileOldName);
var blobNew = this.Container.GetBlockBlobReference(fileNewName);
if (!blobOld.Exists())
{
//文件不存在
return false;
}
blobNew.StartCopyFromBlob(blobOld);
blobOld.DeleteIfExists();
return true;
}

Azure Storage Blob文件重命名的更多相关文章

  1. 关于Azure Storage Blob Content-Disposition 使用学习

    概述 在常规的HTTP应答中,Content-Disposition 消息头指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地.通俗的解释就是对 ...

  2. 【Java EE 学习 22 上】【文件上传】【目录打散】【文件重命名】

    1.文件上传概述 (1)使用<input type="file">的方式来声明一个文件域. (2)表单提交方式一定要是post方式才行 (3)表单属性enctype 默 ...

  3. git 文件重命名

    文件重命名 git mv old_name new_name git commit -m 'rename' git push origin master 删除文件 git rm filename

  4. Java用来进行批量文件重命名,批量提取特定类型文件

    原因: 因为在网上下载视频教程,有的名字特别长,一般都是机构或者网站的宣传,不方便直接看到视频的简介,所以做了下面的第一个功能. 因为老师发的课件中,文件夹太多,想把docx都放在同一个文件夹下面,一 ...

  5. Linux下文件重命名、创建、删除、修改及保存文件

    一.重命名(更名) linux 给文件改名的命令是mv命令 mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中.该命令等同于DOS系统下的ren和move命令的组合.它的使用权限是所有用户. ...

  6. Linux环境给文件重命名

    Linux环境给文件重命名时,如果重命名后的文件名称与当前路径下已存在的文件名称相同,则重命名的文件会覆盖相同名称的文件内容: 例如:新建文件testfile1,内容为mytest: 新建文件test ...

  7. C#给文件重命名

    使用的主要方法是: File.Move(oldFileDir,newFileDir);//这个是移动文件的方法 Directory.GetFiles(dir);//获取dir路径下的所有文件的全路径 ...

  8. PHP文件操作,多行句子的读取,file()函数,file_get_contents()函数,file_put_contents()函数,is_file,统计网站pv (访问量),文件的复制 copy,文件重命名 rename,删除文件 unlink

    php中添加utf-8: header("Content-type:text/html;charset='UTF-8'"); 文件操作步骤: 1.在同一目录下建立一个file.tx ...

  9. Asp.Net MVC 文件管理Demo(文件展示,上传,下载,压缩,文件重命名等)

    之前 ,有想做一个文件管理页面. 参考了 许多资料,终于完成了一个基于Asp.net MVC 的文件管理Demo.界面如下.   一,实现功能及相关技术 文件管理Demo基于Asp.NET MVC , ...

随机推荐

  1. be seen doing和be seen to do的区别

    1. be seen doing和be seen to do的区别 be seen doing表被看到正在做某事:be seen to do 表被看到做某事(不表进行) He was seen to ...

  2. webview.loadUrl()可能会URLDecoder

    与服务器交互时,客户端对userId进行了URLEncoder,然后在webview.loadUrl时将userId传给服务端,服务端再 URLDecoder userId 可是神奇的事情出现了,客户 ...

  3. c语言中的->代表什么意思

    c语言中 ->符号是什么意思? 比如c=a->b a为结构体或联合体的指针,->表示调用其成员

  4. nagios的一些东西

    make install 用来安装nagios的主程序,cgi和html文件 make install-init 在/etc/rc.d/init.d目录下创建nagios启动脚本 make insta ...

  5. ZOJ 3627 Treasure Hunt II (贪心,模拟)

    题意:有n个城市并排着,每个城市有些珠宝,有两个人站在第s个城市准备收集珠宝,两人可以各自行动,但两人之间的距离不能超过dis,而且每经过一个城市就需要消耗1天,他们仅有t天时间收集珠宝,问最多能收集 ...

  6. org.thymeleaf.exceptions.TemplateInputException: Error resolving template "/home/index2", template might not exist or might not be accessible by any of the configured Template Resolvers

    org.thymeleaf.exceptions.TemplateInputException: Error resolving template "/home/index2", ...

  7. HDU 4347 The Closest M Points (kdTree)

    赤果果的kdTree. 学习传送门:http://www.cnblogs.com/v-July-v/archive/2012/11/20/3125419.html 其实就是二叉树的变形 #includ ...

  8. HDOJ 4509 湫湫系列故事——减肥记II(2013腾讯编程马拉松) 并查集合并区间

    发现这种合并区间的题目还可以这么玩 给你n段时间 然后问没被占用的时间是多少 题目所给的区间是右开的导致我wa 好多人5e5*1440的暴力跑出来的时间居然只是我的两倍 不懂.... 所以并查集并没有 ...

  9. tensorflowjs下载源文件到本地不能加载模型解决方案

    大多数情况(非源文件错误)下载源文件到本地不能加载模型,那么你可能需要搭建一个本地WEB服务器. 1.安装apache或ngnix,可以参照这个博客 2.强烈推荐一个Chrome插件Web Serve ...

  10. Web开发者必须知道的10个jQuery代码片段

    在过去的几年中,jQuery一直是使用最为广泛的JavaScript脚本库.今天我们将为各位Web开发者提供10个最实用的jQuery代码片段,有需要的开发者可以保存起来. 1.检测Internet ...