[beego]使用static下载文件出错

2024-01-30 227 views
2
  1. What version of Go and beego are you using (bee version)? bee :1.4.1 beego :1.6.1 Go :go version go1.6 windows/amd64
  2. What operating system and processor architecture are you using (go env)?
  3. What did you do? 在网页上添加了一个标签
    <a href="/static/foo.apk">下载测试</a> 大小约8m的文件 然后下载测试 ,直接使用chrome下载的得到的文件 是没有问题的。 通过手机访问web页面的时候 下载获得的文件就变了 md5码对不上 A complete runnable program is good.
  4. What did you expect to see?
  5. What did you see instead?

回答

5

这个问题解决了吗?我现在也遇到同样的问题。

3

静态文件下载的时候会采用gzip压缩,你是不是打开了这个gzip压缩?

6

解决的方法没找到,跳过的方法有两个

1,使用nginx静态代理

2 添加控制器路由 具体代码

` < a href='/download'>

beego.Router('/download',MainControl{}, '"*:Downfoo"')

func (this *MainControl)Downfoo() { this.Ctx.Output.Download("static/forestall.apk","foo.apk")

} `

0

@astaxie ,我没有配置gzip相关的参数,也不知道怎么配置。

@lyb124553153 我是需要下载静态目录下面的所有文件,里面有图片和视频,目前仅仅在main.go里面做了如下配置 beego.SetStaticPath("/adfiles", "adfiles/") 我会测试一下你推荐的第二种方法,但是如果是目录下所有文件下载还不确定怎么写!

可以使用 http://120.25.72.71:8080/adfiles/org_24/MiddleVideo/fangchang.mp4 测试,目前发现只有google浏览器断点续传没有问题,迅雷、火狐下载一下,暂停一下,再继续下载,视频就会花,说明数据损坏了。

谢谢二位了!

7

@astaxie 我也遇到了这样的问题 我发布apk应用是直接在放在 /static/zwtx.apk ,手机任何浏览器下载都会无法安装,文件大小一致,但不能解析安装。

没有使用gzip的配置,原来使用beego1.1 最近升级为最新版本出现的,测试beego1.1版本没有这样的问题

7

@pengyixing 如果是某个目录下的所有apk文件该怎么写呢?