【发布时间】:2020-11-30 15:59:35
【问题描述】:
我正在使用 API 发布请求来获取修改后的图像。
curl \
-F 'image=@/path/to/your/file.jpg' \
-H 'api-key:[myKey]' \
[api url]
它直接在我的 Mac 终端上运行良好:
curl \
-F 'image=@/Users/user/image.jpg' \
-H 'api-key:[myKey]' \
[api url]
尝试在 iOS 应用程序中使用它,我正在努力获取图像路径。
该 api 使用另一个使用图像 url 的参数与 Alamofire 一起使用。所以我想把图片上传到服务器并使用那个url,但是如果我可以直接使用path参数会更好。
这是我尝试过的,但它不起作用。
func imagePath(_ image: UIImage, handler: @escaping (String?) -> Void ) {
let path = NSTemporaryDirectory()
.appending(UUID().uuidString)
.appending("png")
let url = URL(fileURLWithPath: path)
let data = image.pngData()
let urlForApi = "@" + path
do {
try data?.write(to: url)
// Just to check if write above works, it always works fine
let postData = try UIImage(data: Data(contentsOf: url))
handler (urlForApi)
} catch {
handler (nil)
}
}
它返回处理程序(urlForApi),但请求出错。我没有得到用于请求的正确路径。
【问题讨论】:
-
首先
let urlForApi = "@" + path/Users/user/绝对路径与NSTemporaryDirectory()有很大不同