Создать api загружаемых файлов в next.js

Можно ли создать api загрузки файла в next.js? (с 9X_nextjs использованием каталога / api) Или я должен 9X_nextjs использовать внешнюю стороннюю службу в 9X_nextjs Интернете? Не могу найти ни одного примера 9X_nextjs в Интернете. Спасибо

26
0
1
Общее количество ответов: 1

Ответ #1

Ответ на вопрос: Создать api загружаемых файлов в next.js

Вы можете загружать файлы с помощью маршрутов 9X_nextjs API Next.js.

Пример синтаксического анализа тела Next.js по умолчанию

Обработчик API

export default (req, res) => { // req.body contains a content of an uploaded file + headers } 

req.body - это string, который в начале содержит 9X_nextjs связанные заголовки HTTP, например

------WebKitFormBoundarydj2uhBXPZtD3nte3 Content-Disposition: form-data; name="your_input_name"; filename="your_file_name.json" Content-Type: application/json your file content is here! 

Итак, вам 9X_next.js нужно извлечь из него содержимое. Наверное, есть 9X_nextjs какие-то пакеты, которые это умеют.

Кроме 9X_nextjs того, вы можете проанализировать запрос 9X_next.js с помощью стороннего пакета.

Пример с formidable

Обработчик API

import { IncomingForm } from 'formidable' // you might want to use regular 'fs' and not a promise one import { promises as fs } from 'fs' // first we need to disable the default body parser export const config = { api: { bodyParser: false, } }; export default async (req, res) => { // parse form with a Promise wrapper const data = await new Promise((resolve, reject) => { const form = new IncomingForm() form.parse(req, (err, fields, files) => { if (err) return reject(err) resolve({ fields, files }) }) }) // read file from the temporary path const contents = await fs.readFile(data?.files?.nameOfTheInput.path, { encoding: 'utf8', }) // contents is a string with the content of uploaded file, so you can read it or store } 

Используйте 9X_next.js приведенные выше примеры только для иллюстрации. По 9X_next.js крайней мере, нужно обернуть его в оператор 9X_next.js try catch с надлежащей обработкой ошибок.

32
1

  • Отключение парсера тела по умо ...