微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何打开具有特定编码类型的 ShareFileClient 写入流?

如何解决如何打开具有特定编码类型的 ShareFileClient 写入流?

我想使用 .NET api 在 Azure FileShare 资源中的 FileShareClient 上创建新 blob。有没有办法在执行此操作时指定它的编码? 要打开写入文件,我使用以下内容

  public Stream FileShareOpenWrite(Response<ShareFileProperties> properties,ShareFileOpenWriteOptions openoptions)
    {
        return shareFileClient.OpenWrite(false,properties.Value.ContentLength,openoptions);
    }

是否有可能在打开 ShareFileClient 的编写器时指定编码?

对于本地文件我有类似的功能,可以创建新的 StreamWriter 并允许我直接指定 ANSI 编码:

     using (var writer = new StreamWriter(userInputModel.Path,true,Encoding.GetEncoding("ISO-8859-1")))

解决方法

如果要在文件共享中设置Azure文件的编码,我们可以使用rest API Set File Properties,然后在请求头中设置x-ms-content-encoding

代码方面,如果你使用的是azure文件存储sdk,可以参考这个article

例如

ShareClient share = new ShareClient(connectionString,shareName);
ShareDirectoryClient directory = share.GetDirectoryClient(dirName);
ShareFileClient file = directory.GetFileClient(fileName);

if(await file.ExistsAsync()){

  file.SetHttpHeadersAsync(<file size>,new ShareFileHttpHeaders(){ContentEncoding = {""}})
}else{
 file.CreateAsync (<file size>,new ShareFileHttpHeaders(){ContentEncoding = {""}})
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?