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