Загрузка файлов из Nextjs в бэкенд Django с помощью api-маршрута
Я использую Django (DRF) в бэкенде и Next.js 14 во фронтенде. Я могу загружать небольшие файлы без каких-либо проблем, но когда размер файла превышает около 100 кб, запрос API застревает в статусе "ожидание".
Вот как выглядит форма в файле page.js:
const handleSubmit = async (e) => {
e.preventDefault();
const formData = new FormData();
if (avatar) formData.set("avatar", avatar);
formData.set("bio", bio);
const res = await fetch(`/api/auth/profile/`, {
method: "POST",
body: formData,
});
const updatedProfile = await res.json();
};
А вот как выглядит файл api/route.js:
export async function POST(request, res) {
const access = await getAccessTokenServer();
if (!access)
return NextResponse.json(
{ detail: "Kullanıcı girişi bulunamadı" },
{ status: 401 }
);
const formData = await request.formData();
const response = await fetch(
`${process.env.API_URL}/api/users/me/profile_update/`,
{
method: "POST",
headers: { Authorization: `Bearer ${access}` },
body: formData,
}
);
Когда я напрямую отправляю запрос на бэкенд Django из файла page.js, проблем с загрузкой больших файлов не возникает. Однако, когда я отправляю запрос на адрес api/route, а затем на адрес Django, файл не доходит до Django.
Я пытался установить конфигурацию для api маршрута следующим образом.
`export const config = {
api: {
bodyParser: {
sizeLimit: '10mb',
},
},
// Specifies the maximum allowed duration for this function to execute (in seconds)
maxDuration: 5,
}`