Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

上传图片,获取formdata里面的参数问题 #3538

Closed
wxw1314 opened this issue Mar 12, 2019 · 4 comments
Closed

上传图片,获取formdata里面的参数问题 #3538

wxw1314 opened this issue Mar 12, 2019 · 4 comments

Comments

@wxw1314
Copy link

wxw1314 commented Mar 12, 2019

上传图片时,用ctx.getFileStream()获取流信息。
前端如果传递下列参数
image
用stream.fields可以拿到isOverSea参数
但是如果两个参数传递顺序转换一下,如下
image
是取不到isOverSea参数
不知道是什么原因导致的

What happens?

最小可复现仓库

请使用 egg-init --type=simple bug 创建,并上传到你的 GitHub 仓库

复现步骤,错误日志以及相关配置

相关环境信息

  • 操作系统
  • Node 版本
  • Egg 版本
@atian25
Copy link
Member

atian25 commented Mar 12, 2019

文档里面写了,file 要放在最后。

因为解析是顺序执行的,当你 file 在前面的时候,await ctx.getFileStream() 时,后面的 field 还没来得及解析。

@wxw1314
Copy link
Author

wxw1314 commented Mar 12, 2019

文档里面写了,file 要放在最后。

因为解析是顺序执行的,当你 file 在前面的时候,await ctx.getFileStream() 时,后面的 field 还没来得及解析。

那你知道怎么解决吗,用了ctx.multipart({ autoFields: true })好像也没法解决

@atian25
Copy link
Member

atian25 commented Mar 12, 2019

调整前端的顺序

@atian25
Copy link
Member

atian25 commented Mar 14, 2019

如果你对 stream 不熟悉,可以直接用 file 模式

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants