佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 完美解決beego 根目錄不能訪問(wèn)靜態(tài)文件的問(wèn)題

完美解決beego 根目錄不能訪問(wèn)靜態(tài)文件的問(wèn)題

熱門標(biāo)簽:呼叫中心市場(chǎng)需求 Linux服務(wù)器 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 服務(wù)外包 鐵路電話系統(tǒng) 百度競(jìng)價(jià)排名 AI電銷

beego可算是Go框架里面文檔最多的了。學(xué)起來(lái)比較容易。但是框架自身的局限性卻帶了不小的問(wèn)題。

最近我在處理flash跨域問(wèn)題上就遇到個(gè)活生生的例子:

flash里面的as3訪問(wèn)外網(wǎng)時(shí)沒(méi)啥問(wèn)題。可是假如通過(guò)網(wǎng)頁(yè)調(diào)取的情況下,flash訪問(wèn)的外網(wǎng)又與所在網(wǎng)頁(yè)不是一個(gè)域的。就會(huì)產(chǎn)生跨域問(wèn)題。打開瀏覽器,f12之后,看到的就是flash沒(méi)有訪問(wèn)你的url,而是訪問(wèn)了這個(gè)url所在的域名根目錄下的配置文件crossdomain.xml。該配置文件來(lái)設(shè)置跨域訪問(wèn)的權(quán)限。

這時(shí)候需要在你的域名根目錄下放個(gè)crossdomain.xml文件。恰巧我用的是beego,不支持這功能!~

解決辦法:

既然不支持那就把beego寫成一個(gè)文件服務(wù)器的功能即可。把我的crossdomain.xml同樣放到static下,在收到這個(gè)請(qǐng)求時(shí),直接將這個(gè)文件寫回到response即可。上代碼:

package main

import (
"fmt"
http "net/http"
"path/filepath"
"strings"


"github.com/astaxie/beego"
)


type MainController struct {
beego.Controller
}


func (this *MainController) Get() {
//this.Ctx.Request.URL= http://127.0.0.1/crossdomain.xml
orpath := this.Ctx.Request.URL.Path



if strings.Index(orpath, "crossdomain.xml") >= 0 {
fmt.Println(orpath) // /crossdomain.xml

path := filepath.Join(`static`, "crossdomain.xml")

http.ServeFile(this.Ctx.ResponseWriter, this.Ctx.Request, path)
}

this.Ctx.WriteString("hello world" + orpath)

}


func (this *MainController) Post() {
name := this.GetString("name")
sex := this.GetString("sex")
this.Ctx.WriteString(name + sex+"成功")
fmt.Println(name + sex)
}



func main() {

beego.Router("/*", MainController{})
beego.Run()
}

當(dāng)然了這不是什么好辦法。只是拋磚引玉而已。所有的請(qǐng)求都要判斷一下,如果想完善一下,在路由配置時(shí)可以精確匹配url處理的controller就好了,而對(duì)于自己的controller就會(huì)沒(méi)有影響了

以上這篇完美解決beego 根目錄不能訪問(wèn)靜態(tài)文件的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • golang實(shí)現(xiàn)http服務(wù)器處理靜態(tài)文件示例
  • Django 添加靜態(tài)文件的兩種實(shí)現(xiàn)方法(必看篇)
  • 淺談beego默認(rèn)處理靜態(tài)文件性能低下的問(wèn)題
  • python django 訪問(wèn)靜態(tài)文件出現(xiàn)404或500錯(cuò)誤
  • 解析Go 標(biāo)準(zhǔn)庫(kù) http.FileServer 實(shí)現(xiàn)靜態(tài)文件服務(wù)

標(biāo)簽:衡水 銅川 湘潭 黃山 蘭州 湖南 仙桃 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《完美解決beego 根目錄不能訪問(wèn)靜態(tài)文件的問(wèn)題》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    定襄县| 天长市| 阿图什市| 仲巴县| 宣武区| 宁陕县| 合作市| 卫辉市| 香河县| 昭苏县| 敦化市| 曲松县| 舞钢市| 永康市| 涞水县| 南昌县| 宕昌县| 左云县| 上饶市| 堆龙德庆县| 二连浩特市| 黄冈市| 眉山市| 弥勒县| 叙永县| 丘北县| 沐川县| 顺昌县| 饶河县| 民丰县| 武汉市| 天镇县| 射洪县| 和龙市| 紫金县| 江源县| 英德市| 鄂伦春自治旗| 南岸区| 田林县| 荣昌县|