Как добавить путь к изображению http uploadTask - PullRequest
0 голосов
/ 19 июня 2019

Я хочу загрузить изображение в формате 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()

Возможно, это решается добавлением параметра пути в тело запроса, но, поскольку я совершенно новичок в запросах, я не знаю как.Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...