go - 尝试检测 multipart/form-data 请求中是否存在多个文件,并拒绝多个附件
问题描述
我正在使用 Go 构建一个 API,该 API 需要存储一个以多部分表单请求发送的文件。如果附加了多个文件,并且这些文件没有附加键值,它也需要返回错误。我遇到了一个问题,即多部分阅读器的部分在迭代时发生变化。所以我可以成功上传第一个文件但不返回错误,或者它在需要时返回错误,但是当一个有效的请求进来时——它会遍历它并且什么都不上传。
我写了几个for
循环来尝试这个,有些没有。
i := 0
var data io.Reader
for part, err := reader.NextPart(); err != io.EOF; part, err := reader.NextPart() {
i++
data = part
}
if i > 1 {
return nil, errors.New("too many files")
}
req := storeRequest{
Data: data,
FileNAme: r.URL.Path,
}
return req, nil
关于我如何处理这个问题的任何建议?提前致谢。
解决方案
推荐阅读
- python - 如何在没有附加模块的情况下在 python 中读取 RGB 图像(JPG)
- rust - 如何从字符串创建响应?(Rust-Rocket)
- macos - 我可以编写一个 AppleScript 来删除文件名中字符的第一个实例吗?
- python - 在 Django 中运行 python manage.py 测试时如何强制使用新数据库?
- callback - 从回调函数中创建的另一个下拉菜单创建下拉项目
- c# - 显示 xceed datagrid 单元格中的项目列表
- node.js - NodeJS/GraphQL:尝试使用自定义 DateTime 标量,但出现错误
- graphql - 如何在 graphql where 语句中添加 OR 条件?
- python - 如何更新列表而不是让它删除以前的输入
- git - 尝试在 WSL 上使用 gpg 在 git 上签署提交,但不起作用