为了账号安全,请及时绑定邮箱和手机立即绑定

有大佬遇到过这个问题吗:golang如何操作二进制流呢?跪求!

有大佬遇到过这个问题吗:golang如何操作二进制流呢?跪求!

潇潇雨雨 2019-09-05 09:42:26
有一个需求是这样的:需要用go从一个接口获取pdf文件,然后前端js向go请求这个pdf文件,最终在页面上显示一个预览按钮并可以点击预览pdf前端→go→pdf具体是这么一个过程,pdf用二进制方式传递,具体如何实现呢。。?
查看完整描述

2 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

楼上的如果PDF过大,一次性读取会有内存问题。另外,不要使用panic来中断逻辑运行,一旦panic没被处理,整个程序挂掉
funcmain(){
http.HandleFunc("/pdf",function(wResponseWriter,r*http.Request){
w.Header().Add("Content-Type","application/pdf");
fp,err:=os.Open("./go.pdf")
iferr!=nil{
http.Error(w,fmt.Errorf("internalservererror"),http.StatusInternalServerError)
return;
}
deferfp.Close()
if_,err:=io.Copy(w,fp);err!=nil{
http.Error(w,fmt.Errorf("internalservererror"),http.StatusInternalServerError)
return;
}
});
}
                            
查看完整回答
反对 回复 2019-09-05
  • 2 回答
  • 0 关注
  • 245 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信