0

我的应用程序下载了一个 pdf,然后按下按钮将其显示在一个新视图中。

我得到错误:

-[NSURL initFileURLWithPath:]: nil string parameter'

经过一些故障排除后,我将问题固定在此代码片段中的某个位置。指向的路径/Documents位于下载的 pdf 所在的文件夹中。因此,该文档不在主捆绑包中。

NSString *path = [[NSBundle mainBundle] pathForResource:PDFpathwithextension ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];

下面是下载代码:

//Start an NSURL connection to download from the remotepath
  NSData *pdfData = [[NSData alloc] initWithContentsOfURL:remotepathURL];

//Store the Data locally as PDF File
  NSString *resourceDocPath = [[NSString alloc] initWithString:[[[[NSBundle mainBundle]  resourcePath] stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"Documents"]];

  NSString *filePath = [resourceDocPath stringByAppendingPathComponent:[newdata.ThirdPickerName stringByAppendingFormat:@".pdf"]];
  pdfData writeToFile:filePath atomically:YES];
4

1 回答 1

0

正如NSURL告诉你的那样,你已经把它交给了它nil而不是一条有效的路径。

nil这里意味着找不到该名称的此类资源。事实上,你的问题表明你很清楚这一点。

既然您声称您的应用程序已经下载了 PDF,那么它真的会将其写入磁盘吗?如果是这样,您应该知道生成文件的位置。如果没有,您首先需要编写实际的下载代码!

于 2013-04-09T15:53:37.670 回答