我正在通过套接字发送一些图像,我想创建一个文本文件,其中包含有关通过网络发送的图像的信息。我现在可以通过为图像数据创建变量来发送图像没有问题
let imageData = UIImageJPEGRepresentation(someUIImage, 1.0)
如何使用文本文件的数据创建变量?
let textData = someTextFileAsData.....
答案 0 :(得分:0)
您应该使用NSData
或write(to: URL, atomically: Bool)
let imageData = UIImageJPEGRepresentation(someUIImage, 1.0)
imageData.writeToFile("imageData.txt", atomically:true)
方法将数据写入文件。
在你的情况下,它将是:
var imageData = NSData(contentsOfFile: "imageData.txt")
然后你可以恢复它:
let image : UIImage = UIImage(data: imageData)
从数据中取回图像:
{{1}}
答案 1 :(得分:0)
对Anthonin C.的答案进行了扩展:
iOS中的每个文件都由URL
标识(就像网页一样,但这是指向iOS文件系统的URL)。系统中有一些地方可以保存文件,大部分地方都可以通过阅读来获取网址
FileManager.default.urls(for: SearchPathDirectory, in: SearchPathDomainMask)
(FileManager class reference)。
例如,要保存在用户的个人“文档”目录中,您可以执行以下操作:
let fileName = "socketLog.txt"
if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
//build full path to file
let path = dir.appendingPathComponent(fileName)
do {
try text.write(to: path, atomically: false, encoding: String.Encoding.utf8)
}
catch {/* error handling here */}
}
其中text
是您要保存的字符串数据。
答案 2 :(得分:0)
这是你想要的吗?
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
// Get the URL to the file. Below is an example
let fileURL = documentsDirectory.appendingPathComponent("test").appendingPathExtension("txt") // Replace "test" with your fileName and "txt" with your fileExtension
var text = ""
do {
text = try String(contentsOf: fileURL)
} catch {
fatalError("error: \(error.localizedDescription)")
}