Тело файл недоступен ошибка при загрузке файла в 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];
Другие вопросы по тегам