Тело файл недоступен ошибка при загрузке файла в Firebase
NSString *filetotest=[NSString stringWithFormat:@"/var/mobile/Containers/Data/Application/3A203232-06BF-41CB-8456-1F2341C06934/Documents/"];
NSString *filessss=[NSString stringWithFormat:@"/var/mobile/Containers/Data/Application/3A203232-06BF-41CB-8456-1F2341C06934/Documents/100445.jpg"];
// File located on disk
NSURL *localFile = [NSURL URLWithString:filessss];
[@"100445.jpg" writeToFile:filetotest atomically:YES];
// Get a reference to the storage service using the default Firebase App
FIRStorage *storage = [FIRStorage storage];
// Create a storage reference from our storage service
FIRStorageReference *storageRef = [storage referenceForURL:@"gs://gnts-xxxxx.appspot.com"];
// Create a reference to the file you want to upload
FIRStorageReference *riversRef = [storageRef child:@"Test"];
// Upload the file to the path "images/rivers.jpg"
FIRStorageUploadTask *uploadTask = [riversRef putFile:localFile metadata:nil completion:^(FIRStorageMetadata *metadata, NSError *error) {
if (error != nil) {
// Uh-oh, an error occurred!
} else {
// Metadata contains file metadata such as size, content-type, and download URL.
NSURL *downloadURL = metadata.downloadURL;
}
}];
Получил ошибку
Сбой CFURLResourceIsReachable, поскольку ему был передан URL, который не имеет схемы
Файл тела недоступен: /var/mobile/Containers/Data/Application/3A203232-06BF-41CB-8456-1F2341C06934/Documents/100445.jpg Ошибка домена =NSCocoaErrorDomain Code=4 "Файл не существует."
2 ответа
Нет, я получил путь от этого кода каждый раз,
NSString * documentsPath = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex: 0];
1. documentsPath /var/mobile/ Контейнеры / Данные / Приложение /7D71C4C4-33F8-4D70-AF1E-AFDEB4634031/ Документы
2. DocumentsPath /var/mobile/ Контейнеры / Данные / Приложение /B47C0C4B-0FA1-4E85-9573-89F2D6389535/ Документы
Я использую этот путь к файлу статически, что делает эту ошибку. Теперь моя проблема решена путем непосредственного применения пути к файлу, спасибо nynohu.
Если вы загружаете файл из локального, используя [NSURL fileURLWithPath:]
вместо [NSURL URLWithString:]
,
// File located on disk
NSURL *localFile = [NSURL fileURLWithPath:filessss];