当前位置: 首页 > 知识库问答 >
问题:

数据不会保存到桌面

通飞尘
2023-03-14

我正试图从解析通过模拟器中提取一个PDF文件,并保存到我的桌面上,当我的应用程序上的一个按钮被点击时。问题是,无论我做什么,文件不会出现在桌面或其他任何地方。我正在对下载按钮使用此方法

-(void) Savefile {
    NSFileManager *filemanager = [NSFileManager defaultManager];
    [self.downloadfile getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
        if (error)  {

        }
        else if (data) {
            [filemanager createFileAtPath:@"file:///Users/Danny/Desktop" contents:data attributes:nil];
            [data writeToFile:@"file:///Users/Danny/Desktop" atomically:NO ];
            NSLog(@"Downloading file...");
        }
    }];

}
@property (retain,nonatomic) PFFile * downloadfile;
detailVC.downloadfile=[[PDFArray objectAtIndex:indexPath.row]objectForKey:@"PDFFile"];

无法将其保存到桌面。

共有1个答案

燕文昌
2023-03-14

您正在尝试下载Pdf文件的路径在iOS设备中不存在,如果您想在您的设备中下载文件,您可以这样尝试:-

-(void) Savefile {

    [self.downloadfile getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
        if (error)
        {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Wooopss!" message:@"Download failed. Try Again..." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alert show];
        }
        else if (data)
        {
            NSString *downloadFilePath = [NSString stringWithFormat:@"%@/Documents/PDFFile/hello_%@.pdf", NSHomeDirectory(),[self getCurrentDate]];

            if( ![[NSFileManager defaultManager] fileExistsAtPath:downloadFilePath] )
            {
                NSLog(@"File don't exist at that path");
            }
            else
            {
                NSError *error = nil;
                [[NSFileManager defaultManager] removeItemAtPath:downloadFilePath error:&error];
            }

            [[NSFileManager defaultManager] createFileAtPath:downloadFilePath contents:nil attributes:nil];

            NSLog(@"Downloading file...");

            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Downloading" message:@"File is being downloaded..." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alert show];
        }
    }];

}
//Below method will return you current timestamp through which you can download new PDF with new name

-(NSString *)getCurrentDate
{

    NSDateFormatter *dateFormatter = [NSDateFormatter new];
    [dateFormatter setDateFormat:@"MMddYYYYmmss"];

    NSString *date = [dateFormatter stringFromDate:[NSDate date]];

    return date;
}

希望这能帮助你快乐编码:)

 类似资料:
  • 我正在尝试使用一个用Java编写的桌面应用程序将数据保存到Firebase。但是,由于某些原因,它不起作用,我一直在这里提供的文档:https://firebase.google.com/docs/database/admin/save-data。找不到任何视频教程的问题,所有视频都是网络或移动相关的。基本上,我想创建一个名为Venda的对象,它有3个属性(ID、data、valor),然后将它保

  • 问题内容: 我对 SQLite3 和 Python 3 做错了。也许我误解了SQLite数据库的概念,但是我希望即使关闭应用程序后,数据仍存储在数据库中?当我插入数据并重新打开应用程序时,插入物消失了,数据库为空。 这是我的小数据库: 我在哪里做错了? 问题答案: 调用以将事务刷新到磁盘。 程序退出时,最后一个未完成的事务将回滚到最后一个提交。(或更准确地说,回滚是由下一个打开数据库的程序完成的。

  • 浏览器可以将支持 PWA 的网站保存至桌面,获得比原生应用更轻巧的体积和比 Web 应用更强大的功能。它能拥有原生 APP 应用一般的启动闪屏,也能像原生 APP 应用一样全屏展示。 当您的 Web 应用具备程序清单 - manifest.json 文件时,可通过浏览器保存至桌面。 在工程配置 build.json 中的 build-plugin-rax-pwa 添加 manifest 选项开启保

  • 我有下面的代码,首先检查记录,如果找到,删除该记录并刷新对数据库的更改。但是,当我调试时,我看到当调试器点击下一个代码块时,它没有反映对数据库的更改()。 那么,这种做法错在哪里呢?

  • 问题内容: 我们有一个带有JSON字段的模型,其中插入了用户标志。插入确实可以按预期工作,但是删除某些标志时,它们保留在字段中,并且更改不会持久保存到数据库中。 我们的模型中有以下方法: databasse是postgres,我们对字段类型使用SQLalchemy JSON字段方言。有什么建议吗? 问题答案: 如果您使用的是Postgres <9.4,则无法直接更新JSON字段。您需要 flag_

  • 我有一个使用JPA的Spring Boot应用程序,它有两个数据源,一个用于DB2,一个用于SQL Server。 当我尝试将实体保存到SQL Server时,不会抛出任何错误,但该实体不会持久化到数据库。我看不到日志中正在生成插入。 提前感谢 下面是我尝试保存实体所执行的代码@组成部分 下面是sql Server配置。 这是SQL Server存储库 公共接口BeercupMessageLogR