ドキュメントディレクトリにダウンロードした後、ドキュメントのファイルサイズが正しいことを確認しようとしています。Webサービスヘルパーファイルのどこで確認できるかわかりませんか?または最良の方法。
ダウンロードを開始する前に、予想されるファイルの長さを取得できます。また、バーストごとに送信されるデータの長さを取得できます。これらのバースト数をdidReceiveDataで毎回加算して、予想される長さと比較することを考えていましたが、正しく加算する方法がわかりません。
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
filesize1 = [[NSNumber numberWithLong: [response expectedContentLength]] retain];
NSLog(@"%@", filesize1);
if(requestType == DF_WS_REQUEST_GET_PDF_DATA)
{
[[NSFileManager defaultManager] createFileAtPath:self.filename contents:nil attributes:nil];
self.file = [[NSFileHandle fileHandleForUpdatingAtPath:self.filename] retain];// file is in .h
if (self.file)
{
[self.file seekToEndOfFile];
}
}
else
{
[webData setLength: 0];
}
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
resourceLength = [NSNumber numberWithUnsignedInteger:[data length]];
NSLog(@"resource length: %d", [resourceLength intValue]);
if(requestType == DF_WS_REQUEST_GET_PDF_DATA)
{
if (self.file)
{
[self.file seekToEndOfFile];
}
[self.file writeData:data];
}
else
[webData appendData: data];
}
- (void)connectionDidFinishingLoading:(NSURLConnection *)connection {
URL = filePreviewViewController.filePath;
NSError *AttributesError = nil;
NSDictionary *FileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:URL error:&AttributesError];
NSNumber *FileSizeNumber = [FileAttributes objectForKey:NSFileSize];
long FileSize = [FileSizeNumber longValue];
NSLog(@"File: %@, Size: %ld", URL, FileSize);
}
どんな助けやアイデアも大歓迎です。ありがとう。