实现简单的http下载功能

ychencode · 2016-01-05 03:01:47 · 3584 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2016-01-05 03:01:47 的主题,其中的信息可能已经有所发展或是发生改变。

项目 需求是勾选需要导出的商品条目,然后点击导出,就可以弹出浏览器下载文件的窗口,已经实现了基本的功能,就是利用添加http header中的内容来实现,代码如下:

res.Header().Set("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
res.Header().Set("Content-Dispostion", "attachment; filename='filename.xlsx'")

请问如何自定义下载文件的名称呢,filename不起作用。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3584 次点击  
加入收藏 微博
6 回复  |  直到 2016-01-11 02:50:56
blov
blov · #1 · 9年之前

filename 竟然不起作用?那默认的文件名是啥?

ychencode
ychencode · #2 · 9年之前
blovblov #1 回复

filename 竟然不起作用?那默认的文件名是啥?

我是通过get传商品的id,然后下载下来的文件的名字就是用商品id命名了,如果商品很多的情况下,文件名字会很长,而且扩展名也不起作用,需要手动的调用excel打开

astar
astar · #3 · 9年之前

res.Header().Set("Content-Dispostion", "attachment; filename=filename.xlsx") 不行?

ychencode
ychencode · #4 · 9年之前
astarastar #3 回复

res.Header().Set("Content-Dispostion", "attachment; filename=filename.xlsx") 不行?

是的,文件的名字不是规定的filename.xlsx

ychencode
ychencode · #5 · 9年之前

已解决,是个人粗心拼写错误,粗心害死人呀,大家以后要小心 res.Header().Set("Content-Disposition", "attachment; filename='filename.xlsx'") 是正解

astar
astar · #6 · 9年之前

Dispostion 少了个 不 :smile:

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传