Загрузить изображение в папку с помощью следующего JS API-маршрута и isomorphi c -unfetch - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь выяснить, как можно загружать изображения с помощью Next JS api route и isomorphi c -unfetch. Все, что я видел, использует express, но я чувствую, что смогу выполнить sh с помощью API-маршрутов.

Пока у меня есть ввод файла типа, который запускает обработчик onClick:

    const handleImage = async (theImg) => {
        try {
            const res = await fetch("/api/admin", {
                method: "POST",
                body: theImg,
            });
            const json = await res.json();
            console.log(json);
        } catch (error) {
            console.log(error);
        }
    };
return(
    <input
        onChange={(e) => handleImage(e.target.files[0])}
        type="file"
        name="uploaded_img"
        placeholder="Upload File"
    />
);

, но когда я пытаюсь прочитать запрос в маршруте API, тело оказывается поврежденным, и я не могу открыть полученный файл.

маршрут API:

import fs from "fs";

export default async (req, res) => {
    try {
        const data = fs.writeFile("./uploads/test.jpg", req.body);
        //file written successfully
        console.log("wrote file");
    } catch (err) {
        console.error(err);
    }
};

полученный файл не может быть открыт и содержит набор пропущенных символов. Я, вероятно, делаю это совершенно неправильно, но любой pu sh в правильном направлении был бы очень признателен!

...