我是Swift编程语言的新手。我想从一些电子管服务器下载电影,想要离线播放。我正在使用Alamofire下载部分。我可以列出文件:
var file:String?
if let files = NSFileManager.defaultManager().contentsOfDirectoryAtPath(documentsDirectory, error: &error) as? [String] {
for filename in files {
// do stuff with filename
file = filename
println(filename)
}
}
但问题是如何将该文件用于我的目的。假设它的图像文件,我想在imageview中显示。
myImageView.image = UIImage(contentsOfFile: file) /* doesn't work*/
谢谢你的帮助。
答案 0 :(得分:6)
试试这段代码:
var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
var getImagePath = paths.stringByAppendingPathComponent("filename")
myImageView.image = UIImage(contentsOfFile: getImagePath)
我希望这项工作。
答案 1 :(得分:6)
对于 Swift 2 ,你必须改变一些东西。 注意: stringByAppendingPathComponent在String上不再可用(仅限NSString):
var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString
var getImagePath = paths.stringByAppendingPathComponent("filename")
myImageView.image = UIImage(contentsOfFile: getImagePath)
答案 2 :(得分:0)
文件管理用于以下功能,请检查一次。
1)在文档目录或临时目录中创建文件夹,
2)将文件从temp复制到文件目录,移动路径,
3)从文档目录中删除
4)列出文档目录中的所有文件,使用文档目录中的扩展名列出文件(例如:如果文档目录中有.mp3和.jpg以及.text文件,并且只需要.mp3文件),
5)保存文件
6)获取文件路径
答案 3 :(得分:-3)
目前,您只是将文件名传递给UIImage(contentsOfFile)。你需要传递整个路径,即:
myImageView.image = UIImage(contentsOfFile: "\(documentsDirectory!)/\(filename)") //hopefully does work!