Golang實(shí)現(xiàn)圖片上傳功能的示例代碼_第1頁
Golang實(shí)現(xiàn)圖片上傳功能的示例代碼_第2頁
Golang實(shí)現(xiàn)圖片上傳功能的示例代碼_第3頁
Golang實(shí)現(xiàn)圖片上傳功能的示例代碼_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第Golang實(shí)現(xiàn)圖片上傳功能的示例代碼目錄1.前端代碼2.JS代碼3.后端代碼該代碼為使用beego實(shí)現(xiàn)前后端圖片上傳。話不多說,直接上代碼。

1.前端代碼

html代碼:

div背景圖(必須):/div

div

label

span/span

inputtype="file"

/label

/div

div

/div

2.JS代碼

a.讀取圖片代碼,用于在頁面上顯示

//讀取圖片

functionloadImg(){

//獲取文件

varfile=$(".up-file")[0].files[0];

//創(chuàng)建讀取文件的對象

varreader=newFileReader();

//創(chuàng)建文件讀取相關(guān)的變量

varimgFile;

//為文件讀取成功設(shè)置事件

reader.onload=function(e){

vare=window.event||e;

imgFile=e.target.result;

console.log(imgFile);

$(".img-file").css({'background':"url("+imgFile+")"});

isimg();

//正式讀取文件

reader.readAsDataURL(file);

}

b.驗(yàn)證是否有圖片存在

//是否有圖片驗(yàn)證

functionisimg(){

varimg=$(".img-file").css('background-image');

if(img.indexOf("data:image")==-1img.indexOf(".jpg")==-1){

$(".mess").html("請?zhí)砑颖尘皥D片").css("opacity",1);

returnfalse;

else{

$(".mess").css("opacity",0).html("");

returntrue;

}

c.提交上傳,將圖片以base64編碼的方式傳給后端

functionaddData(){

varurl=$(".img-file").css("background-image");

vardata1=[{"name":"url","value":url}];

$.ajax({

url:"/commmethod/method/uploadimg",

data:data1,

type:"post",

ContentType:"application/json",

success:function(resp){

......

}

3.后端代碼

func(this*CommMethodController)UploadImg(){

fileurl:=this.GetString("url")

DataArr:=strings.Split(fileurl,",")

//去除包裝,獲取到base64編碼

imgBase64:=DataArr[1][:len(DataArr[1])-2]

//base64轉(zhuǎn)碼

imgs,err:=base64.StdEncoding.DecodeString(imgBase64)

iferr!=nil{

beego.Error("base64decodeerror:",err)

timenow:=time.Now().Unix()

file,err:=os.OpenFile("./static/img/"+strconv.FormatInt(timenow,10)+".jpg",os.O_CREATE|os.O_WRONLY,0644)

iferr!=nil{

beego.Debug("createfileerror:",err)

w:=bufio.NewWriter(file)//創(chuàng)建新的Writer對象

_,err3:=w.WriteString(string(imgs))

iferr3!=nil{

beego.Error("writeerror:",err3)

w.Flush()

deferfile.Close()

imgname:=strconv.FormatInt(timenow,10)+".jpg"

t:=struct{

ImageNamestring`json:"imagename"`

}{imgname}

this.Data["json"]=t

this.ServeJSON()

*此代碼主要用于編輯圖片時(shí),刪除原有圖片

*判斷文件是否存在存在返回true不存在返回false

funccheckFileIsExist(filenamestring)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論