
Все, что вам нужно для обработки запросов POST и загрузки файлов в getServerSideProps .
Все документации и руководства можно найти на следующем runtime.meijer.ws.
Следующее протяжение направлено на то, чтобы перенести больше логики на «часть выполнения» вашего сервера. При правильных заголовках кэша каждый сервер является (инкрементным) статическим генератором сайтов.
Чтобы достичь этого, мы предоставляем вам удобный API:
getServerSideProps .getServerSideProps .getServerSideProps как Zero-Config JSON API. Если вы не являетесь человеком документации, вот быстрый пример, чтобы вы могли работать. Пожалуйста, проконсультируйтесь с документами, если это оставляет вам вопросы.
import fs from 'fs' ;
import { handle , json } from 'next-runtime' ;
export const getServerSideProps = handle ( {
async upload ( { file , stream } ) {
stream . pipe ( fs . createWriteStream ( `/uploads/ ${ file . name } ` ) ) ;
} ,
async get ( { params , query } ) {
return json ( { name : 'Stephan Meijer' } ) ;
} ,
async post ( { req : { body } } ) {
return json ( { message : 'Thanks for your submission!' } ) ;
} ,
} ) ;
export default function Home ( { name , message } ) {
if ( message ) {
return < p > { message } </ p > ;
}
return (
< form method = "post" encType = "multipart/form-data" >
< input name = "name" defaultValue = { name } />
< input type = "file" name = "file" />
< button type = "submit" > submit </ button >
</ form >
) ;
} Вы или ваш работодатель, довольным пользователем этого или любые другие мои проекты. Затем, пожалуйста, рассмотрите возможность спонсировать мою работу, чтобы я мог посвятить больше времени поддержанию такого рода проектов.
Пожалуйста, проверьте Anplosing.md. Он содержит информацию о структуре этого репо, чтобы помочь вам встать и запустить.
Спасибо этим замечательным людям (ключ эмодзи):
Стефан Мейер ? ? ? | Гал Шлезингер | Дарий | Умар Ахмед | Хикару Кобори | Koichi Kiyokawa | Горка Цезиум |
Пандиян Муруган |
Этот проект следует за спецификацией всех контролей. Взносы любого вида приветствуются!