Я хочу загрузить изображение в формате jpeg (преобразованное из UIImage) на мой сервер, на котором выполняется node.js и используется multer для хранения файлов.Я попробовал запросы в почтальоне, и он работает там нормально.Однако, когда я пытаюсь выполнить тот же запрос в Swift, сервер выдает эту ошибку:
TypeError: Cannot read property 'path' of undefined
Код для сохранения изображения в каталог:
// Upload image
router.post('/image/:id', upload.single('image'), (req, res) => {
var img = fs.readFileSync(req.file.path);
let uploadTime = new Date().toString()
let image = new Image({
imgID: req.params.id,
contentType: req.file.mimetype,
image: img,
created: uploadTime,
path: req.file.path
})
image.save()
.then(() => {
res.status(200).send("Uploaded photo")
})
.catch(err => {
res.status(500).json(err)
})
})
Задача загрузки:
let url = URL(string: "myServerURL")!
var request = URLRequest(url: url)
let boundary = "Boundary-\(NSUUID().uuidString)"
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
let imageData = image.jpegData(compressionQuality: 0.9)
request.httpBody = imageData
request.httpMethod = httpMethods.post
URLSession.shared.dataTask(with: request) { data, response, error in
if error == nil {
print("success")
}
}.resume()
Возможно, это решается добавлением параметра пути в тело запроса, но, поскольку я совершенно новичок в запросах, я не знаю как.Заранее спасибо