我在我上传到Azure blob的文件中有中文/普通话字符,例如此测试.JPG
当我通过Azure Explorer将此文件拖放到Azure时(作为测试以确保环境可以处理它) - 然后文件完全上传文件名:此测试.jpg(当我使用不同的Azure Explorer时从Redgate然后它上传为????。jpg)
我按照正常的样板代码上传
Dim storageAccount As CloudStorageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"))
Dim blobClient As CloudBlobClient = storageAccount.CreateCloudBlobClient()
Dim blockBlob As CloudBlockBlob = container.GetBlockBlobReference(filename)
blockBlob.UploadFromByteArray(FileBytes, 0, FileBytes.Length)
,但会上传为????.jpg
如何将文件上传到blob以获得正确的(特殊字符)文件名?我看到了php示例但与.net无关,我可以应用
答案 0 :(得分:0)
我不认为这是与您的上传代码相关的问题。 有different types of Chinese character encoding,不幸的是,只有unicode才能与.Net
很好地配合我会抓取文件名(可能它以GB编码,因为它是简体中文),将其转换为unicode,然后按suggestions here
预计Unicode中文可以正常工作,但它们仍然被认为是特殊字符。如果它仍然给您带来问题,除了unicode 之外,您可能需要包含Base64 encoding或URLencoding 。这两种编码方法不适用于GB或Big5。