1

書き換えた URL から PDF ファイルをダウンロードしたので、URL からファイル名を取得できません。どうすれば入手できますか?

私の現在のコード:

    NSString *documentsDirectory = [NSHomeDirectory()
                                        stringByAppendingPathComponent:@"Documents"];
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"Document.pdf"];
     //url rewrited: downloadUrl = http://mySite/pdf/2020?pointer=451&Entity=4
    NSData *pdfData = [NSData dataWithContentsOfURL:downloadUrl];
    [pdfData writeToFile:filePath atomically:YES];
4

2 に答える 2

4

を使用した場合はNSURLConnection、 を使用-[NSURLResponse suggestedFilename]してファイル名を取得できます。これは、コンテンツ ディスポジション ヘッダーを使用してサーバーから送信されたファイル名を考慮に入れます。

于 2013-04-30T09:49:27.477 に答える
0

このようにしてみてください:

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{


 if (url != nil && [url isFileURL]) {
    DownloadedFileUrl =[NSString stringWithFormat:@"%@",url];
           DownloadedFileUrl = [DownloadedFileUrl stringByReplacingOccurrencesOfString:@"%20"  withString:@" "];
    DownloadedFileUrl = [DownloadedFileUrl stringByReplacingOccurrencesOfString:@"file://localhost"  withString:@""];
    NSLog(@"DownloadedFileUrl:%@",DownloadedFileUrl);
    NSString*str=[NSString stringWithFormat:@"%@",url];
    NSArray *sep = [str componentsSeparatedByString:@"/"];
    NSArray *sep1=  [[sep lastObject]  componentsSeparatedByString:@"."];
 FileNameStr1=[NSString stringWithFormat:@"%@",[sep1 objectAtIndex:0]];


NSLog(@"FileNameStr1:%@",FileNameStr1);
}}
于 2013-04-30T08:19:29.417 に答える