使用Fiber的上下文,我如何迭代多个文件?

huangapple go评论89阅读模式
英文:

With Fiber's context, how do I iterate over multiple files?

问题

当我收到一个包含要上传到服务器的文件列表的post请求时,如果我知道文件的名称,我可以通过c.FormFile("filename")获取特定的文件。

但是,如果事先不知道文件的名称,我该如何遍历该列表中的文件呢?我在context文档中没有看到提供文件列表的方法。

英文:

When I receive a post request with a list of files to be uploaded to the server, I can get a specific file, if I know the name of it via

c.FormFile("filename")

But how would I iterate over the files in that list, without knowing the files names ahead of time? I don't see a method listed in the context docs that simply provides a list of files.

答案1

得分: 7

调用c.MultiPartForm()方法来获取*multipart.Form对象。遍历表单的File字段。

form, err := ctx.MultipartForm()
if err != nil { /* 处理错误 */ }
for formFieldName, fileHeaders := range form.File {
    for _, fileHeader := range fileHeaders {
        // 在这里处理上传的文件
    }
}
英文:

Call c.MultiPartForm() to get a *multipart.Form. Iterate through the form's File field.

form, err := ctx.MultipartForm()
if err != nil { /* handle error */ }
for formFieldName, fileHeaders := range form.File {
	for _, fileHeader := range fileHeaders {
		// process uploaded file here
	}
}

huangapple
  • 本文由 发表于 2022年6月11日 00:06:30
  • 转载请务必保留本文链接:https://go.coder-hub.com/72577142.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定