如何使用蒸汽上传/下载图像?

时间:2018-02-15 07:32:30

标签: swift image server vapor

现在:我上传数据并将其保存到我的公共文件夹:

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(数据:数据)时,我看不到我的图像。我做错了什么?也许有另一种方法可以做到这一点。我的公共目录中的文件看起来不像图像。他们只是档案。也许你知道如何像图像一样保存它吗?

1 个答案:

答案 0 :(得分:2)

上传的图像将是多部分请求的一部分,因此您只需使用包含图像的部分。 .bytes将为您提供全部请求。我用:

guard let fileBytes = info.formData?["photo"]?.part.body

或者

guard let fileBytes = info?["photo"]?.part.body

如果您没有使用表格。