我正在尝试从Go网络服务器下载压缩文件。我已经成功压缩了文件,可以将其从服务器目录解压缩。我遇到的问题是提供文件并使用Javascript下载。
这是我的代码的概述:
1)向服务器请求,该服务器从另一个端点检索数据
2)根据用户想要的文件类型(CSV(setupCSVRows函数)或JSON)构造返回的数据
3)将字节从缓冲区写入文件并返回文件的地址
4)用户单击链接时,发出带有文件地址的http get请求,并在新窗口中打开内容进行下载
每次尝试解压缩文件时,都会出现错误:存档文件不完整(使用The Unarchiver程序),并且Mac上的默认"存档实用程序"显示一个简短的加载屏幕,然后关闭。
验证码:
JavaScript代码:
如您所见,我尝试了许多不同的URI方案来下载文件,但没有任何效果。
我需要在服务器端设置MIME类型吗?
任何帮助将不胜感激。请让我知道是否需要提供更多详细信息。
我无法发表评论(新用户)-但是,在命名文件时,只需在提供服务之前设置标头即可(使用ServeContent,但此处可以互换使用):
我最终走了一条稍微不同的路线。 现在,我在响应头上设置MIME类型,并创建一个指向该文件的链接。
转到代码:
角度UI代码:
这将自动触发下载,并且zip文件不再损坏。