小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

beego:將服務(wù)器上的圖片顯示到客戶端瀏覽器

 菌心說(shuō) 2021-09-08

將服務(wù)器上的圖片顯示到客戶端瀏覽器

// @Title // @Description 顯示圖片 // @Paramnum query stringtrue比如:圖片名字20181120164548_75_jd.jpg // @Success 200 // @router /ShowImage [get] func (u *FirstpageController) ShowImage() { u.Ctx.ResponseWriter.Header().Set('Access-Control-Allow-Origin', u.Ctx.Request.Header.Get('Origin')) filename := u.GetString('num') //獲取需要上傳的文件文件名 //查看文件名類型是否正確 picture := strings.Split(filename,'.') //讀取到字符串,并以.符號(hào)分隔開(kāi) layout := strings.ToLower(picture[len(picture)-1]) //把字母字符轉(zhuǎn)換成小寫,非字母字符不做出處理,返回此字符串轉(zhuǎn)換為小寫形式的副本。 if layout != 'jpg' { //1533398400000 u.Ctx.WriteString('圖片格式必須為:(jpg)') panic('圖片格式必須為:(jpg)') } //查看本及其上面是否存在需要的圖片 readPath := beego.AppConfig.String('uploadpath') img:= path.Join(readPath,filename) u.Ctx.Output.Header('Content-Type', 'image/jpg') u.Ctx.Output.Header('Content-Disposition',fmt.Sprintf('inline; filename=\'%s\'',img)) file, err := ioutil.ReadFile(img) if err != nil { beego.Info('文件不存在') return } u.Ctx.WriteString(string(file)) }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

SWAGGER測(cè)試效果:
在這里插入圖片描述

u.Ctx.Output.Header(“Content-Disposition”,fmt.Sprintf(“inline; filename=”%s'',img))

響應(yīng)頭信息中的Content-Disposition用于告知瀏覽器其獲取到的文件是需要展示與頁(yè)面內(nèi)還是需要作為附件保存到用戶本地,如果需要展示在頁(yè)面內(nèi),設(shè)置為inline,否則設(shè)置為attachemnt

u.Ctx.Output.Header(“Content-Type”, “image/jpg”)

告訴客戶端本服務(wù)器提供的對(duì)象的類型是image/jpg。image/jpg根據(jù)需要改,比如image/png,image/jpg等

u.Ctx.WriteString(string(file))

渲染瀏覽器客戶端

服務(wù)器端保存客戶端發(fā)送的圖片

// @Title
// @Description      意見(jiàn)
// @Param123      query    []bytefalse   獲取圖片二進(jìn)制流出
// @Success 200
// @router /UpALL [post]
func (u *TodayRptController) UpALL() {
u.Ctx.ResponseWriter.Header().Set('Access-Control-Allow-Origin', u.Ctx.Request.Header.Get('Origin'))

tmpfile, fheader, err  := u.Ctx.Request.FormFile('123')   // u.GetFile('123') 效果相同  “123”是二進(jìn)制流的鍵名.獲取上傳的文件
if err != nil{
panic(err)
}
defer tmpfile.Close()  //關(guān)閉上傳的文件,不然的話會(huì)出現(xiàn)臨時(shí)文件不能清除的情況
path := '/home/ocena/' + '20181212.jpg'  //設(shè)置保存路徑
beego.Info('Header:', fheader.Header) //map[Content-Disposition:[form-data; name='123'; filename='upimage.jpg'] Content-Type:[image/jpeg]]
beego.Info('Size:', fheader.Size)    //114353
beego.Info('Filename:', fheader.Filename)  //upimage.jpg
u.SaveToFile('123', path)
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

postmain模擬發(fā)送圖片到瀏覽器:
在這里插入圖片描述

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多