golang通过浏览器操作服务器中文件
生活随笔
收集整理的這篇文章主要介紹了
golang通过浏览器操作服务器中文件
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、工程結(jié)構(gòu)
二、后端:獲取日志文件的信息,并以Json格式傳至前端。
type LogName struct {Name string } r := gin.Default()//使用gin框架 r.Static("static", "templates/static/")//加載靜態(tài)資源 r.LoadHTMLGlob("templates/view/*")//加載頁(yè)面 r.GET("/log", func(c *gin.Context) {pwd, _ := os.Getwd()//獲取當(dāng)前路徑fileInfoList, _ := ioutil.ReadDir(pwd)//獲取當(dāng)前路徑下文件列表logList := make([]model.LogName, 0)//準(zhǔn)備用于存儲(chǔ)日志文件名的數(shù)據(jù)結(jié)構(gòu)for i := range fileInfoList {if path.Ext(fileInfoList[i].Name()) == ".log" || path.Ext(fileInfoList[i].Name()) == ".yaml" || path.Ext(fileInfoList[i].Name()) == ".txt" {//通過(guò)后綴過(guò)濾log := model.LogName{Name: fileInfoList[i].Name(),}logList = append(logList, log)}}s, _ := json.Marshal(logList)//序列化c.HTML(http.StatusOK, "log.html", gin.H{"information": string(s)}) })三、前端:接收J(rèn)son數(shù)據(jù),動(dòng)態(tài)生成表格,操作日志文件。
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><script src="static/js/jquery-3.5.1/jquery-3.5.1.min.js"></script> </head> <body> <input type="hidden" id="list" name="list" value={{.information}}>//接收json數(shù)據(jù),隱藏 <table><thead><tr><td>name</td><td>show</td></tr></thead><tbody></tbody> </table> <script>var arr =JSON.parse($("#list").val());//解析json數(shù)據(jù)var tbody = document.querySelector('tbody');for (var i = 0; i < arr.length; i++) {//根據(jù)記錄數(shù)動(dòng)態(tài)為表格添加行var tr = document.createElement('tr')tbody.appendChild(tr);for (var k in arr[i]) {//根據(jù)單條記錄中項(xiàng)數(shù),動(dòng)態(tài)為表格添加列var td = document.createElement('td');td.innerHTML = arr[i][k];tr.appendChild(td);}var td = document.createElement('td');//添加按鈕列td.innerHTML= '<a href="javascript:;">顯示</a>';//鏈接指向js腳本tr.appendChild(td);}var a=document.querySelectorAll('a');for(var i=0;i<a.length;i++) {//為按鈕添加監(jiān)聽(tīng)器a[i].addEventListener('click', function (){window.open("http://ip/"+this.parentNode.parentNode.childNodes[0].textContent);})//a->td[1]->tr->td[0]->td[0].textContent} </script> </body> </html> yum -y install httpd#httpd或apache2 systemctl enable httpd systemctl start httpd ln -s 資源路徑 /var/www/html/filename#將資源路徑軟鏈接至/var/www/html目錄下 chmod o+x 資源路徑#授予用戶執(zhí)行資源的權(quán)限使用httpd為資源生成url。
需要注意:
1.路徑和url的區(qū)別。
2.資源的訪問(wèn)權(quán)限。
3./etc/httpd/conf/httpd.conf配置文件中規(guī)定了支持的路徑和格式。
總結(jié)
以上是生活随笔為你收集整理的golang通过浏览器操作服务器中文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python图片识别之 easyocr
- 下一篇: 市面上主流的音视频竞品分析对比