新聞中心
?Response?對(duì)象支持文件下載。

成都創(chuàng)新互聯(lián)長(zhǎng)期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為龍山企業(yè)提供專(zhuān)業(yè)的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,龍山網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
相關(guān)方法:
func (r *Response) ServeFile(path string, allowIndex ...bool)
func (r *Response) ServeFileDownload(path string, name ...string)ServeFile
通過(guò)給定文件路徑?path?,?ServeFile?方法將會(huì)自動(dòng)識(shí)別文件格式,如果是目錄或者文本內(nèi)容將會(huì)直接展示文件內(nèi)容。如果?path?參數(shù)為目錄,那么第二個(gè)參數(shù)?allowIndex?控制是否可以展示目錄下的文件列表。
使用示例:
package main
import (
"github.com/GOgf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/", func(r *ghttp.Request) {
r.Response.ServeFile("test.txt")
})
s.SetPort(8999)
s.Run()
}訪問(wèn) http://127.0.0.1:8999 可以發(fā)現(xiàn)文件內(nèi)容被展示到了頁(yè)面。
ServeFileDownload
?ServeFileDownload?是相對(duì)使用頻率比較高的方法,用于直接引導(dǎo)客戶端下載指定路徑的文件,并可以重新給定下載的文件名稱(chēng)。?ServeFileDownload?方法采用的是流式下載控制,對(duì)內(nèi)存占用較少。使用示例,我們把上面示例中的?ServeFile?方法改為?ServeFileDownload?方法:
package main
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/", func(r *ghttp.Request) {
r.Response.ServeFileDownload("test.txt")
})
s.SetPort(8999)
s.Run()
}訪問(wèn) http://127.0.0.1:8999 可以發(fā)現(xiàn)文件被引導(dǎo)下載,而不是展示頁(yè)面內(nèi)容。
網(wǎng)頁(yè)名稱(chēng):創(chuàng)新互聯(lián)GoFrame教程:GoFrame 數(shù)據(jù)返回-文件下載
文章地址:http://fisionsoft.com.cn/article/ccdghoj.html


咨詢(xún)
建站咨詢(xún)
