0

ダウンロードしたコンテンツ/データを NSOutputStream でドキュメント ディレクトリの指定されたパスに保存する方法。ファイル名に DD を追加すると機能します (ex- DD/contentPath.zip) が、DD/hello/contentPath.zip のようなパスを追加すると機能しません。なんで ?私は以下のように試しました -

- (void) downloadCarContents:(NSString *)url forContent:(NSString *)contentPath {

    //NSString *destinationPath = [self.documentDirectory getDownloadContentPath:contentPath];

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    AFHTTPRequestOperation *op = [manager GET:url
                                   parameters:nil
                                      success:^(AFHTTPRequestOperation *operation, id responseObject) {


                                      } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

                                          //NSLog(@"Error : %@", error.localizedDescription);
                                      }];

    NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *dest = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"hello/%@.zip", contentPath]];// It doesn't work
    //NSString *dest = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.zip", contentPath]];// It works

    op.outputStream = [NSOutputStream outputStreamToFileAtPath:dest append:NO];

    [op setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
        float percentage = (float) (totalBytesRead * 100) / totalBytesExpectedToRead;
        [self.delegate downloadProgression:percentage];
    }];
}
4

1 に答える 1