Нашел хороший способ загрузки файлов с углового на мой сервер узлов, которые будут обрабатываться multer. Загрузка и обработка изображений отлично работают, но я хочу привязать пару ключ/значение к этому запросу. К сожалению, я не знаю, как привязать пару ключевых значений к этому запросу вместе с этим сообщением формы!
var files = document.getElementById("change-pic-input").files;
var fd = new FormData();
fd.append("file", files[0])
uploadProfilePic(fd);
});
var uploadProfilePic = function(fd) {
$http.post("/api/spot/pic/post", fd,{
headers: {'Content-Type': undefined},
transformRequest: angular.identity
}).then(
function successCallback(response) {
console.log("Success post image")
}, function errorCallback(response) {
console.log("fail post image")
});
};
Хотелось бы услышать от эксперта по $ http или кого-то умнее меня, чтобы исправить это.
Самое основное решение, которое я нашел, - добавить параметры к URL-адресу, например
"/api/spot/pic/post?key=value"
а затем на стороне сервера
value = req.query.key
Я был бы признателен за лучшее решение, если это возможно. Благодарю.
Я думаю, вы можете добавить другие данные в свою переменную formData. Следующим образом;
fd.append('key', value);
Или если вы хотите отправить данные json с этим запросом.
fd.append('jsonData', { key: value });
Для задней стороны;
Насколько я знаю, вы используете req.files для доступа к вашим загруженным файлам. Теперь, я думаю, вы можете использовать req.body
для req.body
к другим данным внутри запроса. Подобно; req.body.jsonData
или req.body.key
.