我正在使用Echo Framework的静态文件处理程序从我的上传目录中提供上传的文件。
e := echo.New()
e.Static("/uploads","uploads")
这适用于较小的视频文件。我用20MB的videofile进行了测试,效果很好。较大的文件,例如50MB的测试文件,不起作用。在提供整个文件之前,底层TCP连接将被关闭。
有没有人知道是否有文件大小限制或可以设置的计时器来防止这种情况?
答案 0 :(得分:0)
您正在寻找echo.File()
。此方法可以处理更长的文件,就像您的文件一样,因为net/http
和http.FileServer()
中使用的基础echo.File()
包是相同的。您可以添加类似的内容
echo.File("route","filepath",middleware)
。
您还可以使用与echo.Context
关联的相同功能,并具有相同的名称c.File()
。这里的函数定义较短,在回显网页https://echo.labstack.com/cookbook/file-download中有示例。