前端代碼如下:
<form action="" id="uploadExcel" method='GET'>
<input type="file" name="file" id="uploadFile" style="display: none;">
<input type="submit" value="查詢" class="cx_submit" />
</form>
$("#uploadFile").change(function() {
var filePath = $(this).val();
if (filePath.indexOf("xls") != -1 || filePath.indexOf("xlsx") != -1) {
const file = document.getElementById('uploadFile').files[0];
const formData = new FormData();
formData.append('file', file);
$.ajax({
headers:{
"token": $("#token").val(),
},
type: 'POST',
url: $("#knowledgeUrl").val()+'admin-recite/recite/import',
data: formData,
contentType: false,
processData: false,
success: function (data) {
if (data.code == 1) {
if (data.data == '')
{
alert("匯入成功!請在移動端驗收,避免展示錯誤");
} else {
alert("模板匯入失敗,匯入存在錯誤,序號:"+data.data+"請根據模板要求重新匯入;");
}
location.reload();
} else {
alert(data.msg);
}
console.log(data);
},
});
} else {
alert("請選擇正確的檔案格式!");
$("#uploadFile").val("");
return false;
}
});
gin后端代碼如下:
package controllers
import (
"strconv"
"time"
"base.domain.com/common"
"base.domain.com/global"
"base.domain.com/modules/knowledge/services"
"base.domain.com/utils"
"github.com/gin-gonic/gin"
log "github.com/sirupsen/logrus"
)
type AdminReciteAction struct {
global.BaseControllerAbstract
}
func (a *AdminReciteAction) ImportExcel(c *gin.Context) {
file, fileErr := c.FormFile("file")
if fileErr != nil {
log.WithFields(log.Fields{"error": fileErr}).Warn("fileErr")
c.JSON(200, gin.H{"code": 0, "msg": "檔案錯誤", "data": ""})
return
}
projectID, _ := strconv.Atoi(c.GetStringMap("sysLoginToken")["currentProjectId"].(string))
saveErr := c.SaveUploadedFile(file, file.Filename)
if saveErr != nil {
log.WithFields(log.Fields{"error": saveErr}).Warn("saveErr")
c.JSON(200, gin.H{"code": 0, "msg": "檔案存盤", "data": ""})
return
}
excelAry := utils.ReadExcelFile("Sheet1", file.Filename)
c.JSON(200, gin.H{"code": 1, "msg": "操作完成", "data": excelAry })
}
只能說這個太惡心了,各位大佬有需要的或者有啥問題可以評論或者私聊,咱們隨時交流,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/292192.html
標籤:其他
上一篇:HTML入門與基礎知識概括
下一篇:JavaWeb學習筆記
