当我尝试从firebase下载pdf文件时遇到此问题,我认为Firebase或Android未检测重音字符,例如(í,á)但它不会发生在ó,只发生在其他人身上。
我使用Firebase做了一些简单的事情,我从我的存储桶中下载了pdf文件,我在实时数据库中有一些像Paráclesis.pdf这样的参考数据来自firebaseStorage我的文件是这样的:
mybucket /Paráclesis.pdf
因此,如果我尝试使用í,á下载文件,则会出现问题(ó不会发生)。我收到这个错误:
com.google.firebase.storage.StorageException:对象在位置
不存在我试图使用:
URLEncoder.encode(str, "UTF-8"); //nothing i get the same
try {
byte[] utf8Bytes = fileName.getBytes("UTF-8");
fileName = new String(utf8Bytes, "UTF-8");
Log.d(TAG_DEBUG, "fileName "+ fileName);
}
和othes方法尝试编码我的fileName或任何可能帮助我的东西,但我总是得到同样的错误
我看到了这个链接,但是它适用于ios
ios中的使用此代码
self.storageRef = FIRStorage.storage().reference().child("\(self.selectedOpciones_name)/\(self.selectedHeaderOpciones)")
let decomposedPath = ("\(self.selectedPDFTitle).pdf").decomposedStringWithCanonicalMapping // Unicode Form D
self.storageRef.child(decomposedPath).downloadURLWithCompletion{ (URL, error)
但在android中我不知道我该怎么做
Normalizer
.normalize(fileName, Normalizer.Form.NFD);
(NSString *)decomposedStringWithCanonicalMapping 相当于Java / Android中的NFD