现在:我上传数据并将其保存到我的公共文件夹:
let info = req.data
guard let fileBytes = info["photo"]?.bytes
else {
var answerJson = JSON();
try answerJson.set("success", "false");
return answerJson
}
let dir = URL(fileURLWithPath: self.config.workDir).appendingPathComponent("Public/FleaMarketProductImages")
let dirWithImage = dir.appendingPathComponent("test3.jpg")
let fileManager = FileManager()
let data = Data(bytes: fileBytes)
fileManager.createFile(atPath: dirWithImage.path, contents: data, attributes: nil)
然后在下载此文件的设备上我正在做下一步:
Alamofire.download(url).responseData { response in
if let data = response.result.value {
completionHandler(data)
}
}
我正在获取一些数据,但是当我做UIImage(数据:数据)时,我看不到我的图像。我做错了什么?也许有另一种方法可以做到这一点。我的公共目录中的文件看起来不像图像。他们只是档案。也许你知道如何像图像一样保存它吗?
答案 0 :(得分:2)
上传的图像将是多部分请求的一部分,因此您只需使用包含图像的部分。 .bytes
将为您提供全部请求。我用:
guard let fileBytes = info.formData?["photo"]?.part.body
或者
guard let fileBytes = info?["photo"]?.part.body
如果您没有使用表格。