【问题标题】:NSData does not get saved in local fileNSData 没有保存在本地文件中
【发布时间】:2015-04-06 19:21:28
【问题描述】:

我正在尝试从 URL(在本例中为图像)获取数据并将此数据写入磁盘。 我收到数据,一切似乎都很好。调试器甚至显示数据已写入磁盘,而且大小正确。 但是当我打开照片应用程序时,我找不到文件。为什么?

var fileData: NSData = NSData(contentOfURL: response.URL!)!
var paths: NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
var documentsDirectory: NSString = paths.objectAtIndex(0) as NSString
var filePath = documentsDirectory.stringByAppendingPathComponent("new.jpg")
fileData.writeToFile(filePath, atomically: true)

【问题讨论】:

  • 您为什么希望照片应用能够看到您的文件?它在你的沙箱中。照片应用有自己的自己的沙盒——自己的图书馆,自己的世界。
  • 您在自己的应用中保存的所有内容都与设备上的其他应用分开...developer.apple.com/library/mac/documentation/Security/…
  • 我怎样才能让它对其他应用程序可见,甚至在我的应用程序之外使用该文件?
  • 设备上没有像传统文件系统那样的文件中心位置,您必须使用其他服务来处理此类事情(即 iCloud)。如果您要做的只是将图像保存到用户的照片库,那么在 SO 上会有很多问题解释如何执行此操作。这是一个:stackoverflow.com/questions/11131050/…

标签: ios ipad swift nsdata


【解决方案1】:

我认为您可以使用UIImageWriteToSavedPhotosAlbum 向相册应用程序相册写信。当然需要先将数据转换成UIImage:[UIImage imageWithData: fileData]

【讨论】:

  • 我知道这是一个单独的问题。但是你知道我会如何处理视频和音频文件吗?
  • 对于视频,它可能是UISaveVideoAtPathToSavedPhotosAlbum。对于音频,您无法从第三方应用程序写入 iTunes 库。
猜你喜欢
  • 1970-01-01
  • 2019-10-26
  • 1970-01-01
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多