提问人:kirkage 提问时间:7/16/2023 更新时间:7/16/2023 访问量:93
文件上传 - Firebase 托管上的下一个 JS API - 生产问题
File Upload - Next JS API on Firebase hosting - Production Issues
问:
我的文件上传过程在我的本地计算机上运行良好,但生产中的相同代码无法正常工作。几分钟后超时,我收到 503 错误。我正在尝试获取文件并将其上传到 Firebase 存储。
前端功能:
export const uploadToStorage = async (file: File, cartId: string) => {
const formData = new FormData();
formData.append('cartId', cartId);
formData.append('file', file, file.name);
const url = 'api/save-file';
const response = await fetch(url, {
method: 'post',
body: formData,
});
const body = await response.json();
console.log(body);
return body;
};
api/保存文件:
import type { NextApiRequest, NextApiResponse } from 'next';
import { storage } from '../../data/firebase-config';
import { ref, uploadBytes } from 'firebase/storage';
import formidable from 'formidable';
import { promises as fs } from 'fs';
const saveFile = async (req: NextApiRequest, res: NextApiResponse) => {
const form = formidable({});
let fields;
let files;
try {
[fields, files] = await form.parse(req);
const cartId = fields.cartId[0];
const file: any = files.file;
const readF = await fs.readFile(file[0].filepath);
const fileRef = ref(storage, `${cartId}/${file[0].originalFilename}`);
const uploadRes = await uploadBytes(fileRef, readF);
res.status(200).json({ success: true, message: uploadRes });
} catch (err: any) {
res.status(200).json({ success: false, message: err.message });
}
};
export default saveFile;
export const config = {
api: {
bodyParser: false,
},
};
答: 暂无答案
评论