Next.js中FormData接收文件后如何访问name属性?
解决Next.js中FormData文件对象name属性无法访问的问题
你的问题出在错误使用了this关键字——当前代码环境是函数式的(比如Next.js API路由、服务器组件),不存在类实例的this,videoUrl是局部变量,直接访问其属性即可。
修正后的代码
const res = await request.formData() const videoUrl = res.get("video_url"); // 直接访问name属性,建议先做类型校验避免报错 if (videoUrl instanceof File) { console.log(videoUrl.name); // 会输出 test.mp4 }
补充说明
- 必须确保
video_url对应的是FormData中的文件字段,否则res.get()可能返回null或其他类型,提前用instanceof File校验可以避免运行时错误。 - 在Next.js的服务器端代码(API路由、服务器组件)中,所有变量都是局部作用域,不需要通过
this来访问。
内容的提问来源于stack exchange,提问作者Priyanshu Tiwari
相关产品推荐
相关产品推荐

