Я пишу VueJS заявление. Я использую топор ios для загрузки изображений на сервер. У меня есть <input type="file">
и я использую следующий код для отправки данных на сервер:
let formData = new FormData();
formData.append("image", self.image);
self.axios.post("/image/",
formData,
{headers: {"Content-Type": "multipart/form-data"}}
).then(response => // smth next
Теперь я хочу получить загруженное изображение с сервера и поместить его в файл на тот же <input type="file">
, чтобы иметь возможность использовать предыдущий код еще раз для повторной загрузки загруженного изображения обратно на сервер.
Я перепробовал много вариантов, но последний выглядит так:
const self = this;
self.axios.get(`/image/${newValue}`).then(res => {
self.file = new File(
[new Buffer(res.data, "binary").toString("base64")],
res.request.responseURL.split("/api/image/")[1],
{ type: res.headers["content-type"] }
);
Изображение загружено и успешно загружено, но оно повреждено -> создано Файл .png не может быть открыт.
Еще одна деталь, которую я заметил: повторно загруженный файл всегда больше оригинала. Исходный файл был 810kb, перезагружен 8.4mb. Поэтому, вероятно, я делаю что-то не так: P
Буду признателен за любые предложения и ответит на любые дополнительные вопросы.