gpt4 book ai didi

objective-c - 使用 NSTemporaryDirectory 时可以使用自己的文件名吗

转载 作者:行者123 更新时间:2023-11-29 13:43:26 26 4
gpt4 key购买 nike

我正在生成一个 PDF 文件并将其保存到我的设备,然后再从我的应用程序中通过电子邮件发送它。目前它不会被手动或自动清除,所以我正在查看 NSTemporaryDirectory。我查看了各种网站,也在此处寻找我的特定查询的答案,但找不到。

我有以下功能:

+(NSString *)getTempFilePathName {
NSString *tempFilePathName = nil;
NSString *tempFileTemplate = [NSTemporaryDirectory() stringByAppendingPathComponent:@"tempfile.XXXXXX"];
const char *tempFileTemplateCString = [tempFileTemplate fileSystemRepresentation];
char *tempFileNameCString = (char *)malloc(strlen(tempFileTemplateCString) + 1);
strcpy(tempFileNameCString, tempFileTemplateCString);
int fileDescriptor = mkstemp(tempFileNameCString);
if (fileDescriptor != -1) {
// File opened successfully
tempFilePathName = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:tempFileNameCString length:strlen(tempFileNameCString)];
close(fileDescriptor);
}
free(tempFileNameCString);

return tempFilePathName;
}

这会返回一个 NSString,其中包含一个临时文件的完整路径和文件名,该临时文件以文件名的“XXXXXX”部分替换为唯一的字母和数字组合结尾。当我使用它来保存 PDF 文件时,我需要修复扩展名为“.PDF”的“XXXXXX”位。最好我也想指定文件名本身,比如“Order-123.PDF”。

我能否只编辑我的方法以传入文件名并在 stringByAppendingPathComponent 参数中使用它?每次调用此方法时生成的目录名称是否唯一?

最佳答案

我自己解决了。在调用上述例程的行之后,我执行以下操作:

NSString *newFilePath = [tempNameStub stringByAppendingPathExtension:@"pdf"];   

.pdf 添加到末尾。

关于objective-c - 使用 NSTemporaryDirectory 时可以使用自己的文件名吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8385203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com