全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

完美解决beego 根目录不能访问静态文件的问题

beego可算是Go框架里面文档最多的了。学起来比较容易。但是框架自身的局限性却带了不小的问题。

最近我在处理flash跨域问题上就遇到个活生生的例子:

flash里面的as3访问外网时没啥问题。可是假如通过网页调取的情况下,flash访问的外网又与所在网页不是一个域的。就会产生跨域问题。打开浏览器,f12之后,看到的就是flash没有访问你的url,而是访问了这个url所在的域名根目录下的配置文件crossdomain.xml。该配置文件来设置跨域访问的权限。

这时候需要在你的域名根目录下放个crossdomain.xml文件。恰巧我用的是beego,不支持这功能!~

解决办法:

既然不支持那就把beego写成一个文件服务器的功能即可。把我的crossdomain.xml同样放到static下,在收到这个请求时,直接将这个文件写回到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()
}

当然了这不是什么好办法。只是抛砖引玉而已。所有的请求都要判断一下,如果想完善一下,在路由配置时可以精确匹配url处理的controller就好了,而对于自己的controller就会没有影响了

以上这篇完美解决beego 根目录不能访问静态文件的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# beego  # 根目录不能访问静态文件  # go语言beego框架web开发语法笔记示例  # golang beego框架路由ORM增删改查完整案例  # Beego中ORM操作各类数据库连接方式详细示例  # golang beego框架环境搭建过程  # Go语言框架Beego项目搭建的方法步骤  # beego获取ajax数据的实例  # 浅谈beego默认处理静态文件性能低下的问题  # go语言beego框架分页器操作及接口频率限制示例  # 就会  # 给大家  # 不支持  # 配置文件  # 自己的  # 的是  # 我在  # 都要  # 最多  # 抛砖引玉  # 我用  # 希望能  # 就把  # 带了  # 这篇  # 解决办法  # 比较容易  # 小编  # 没啥  # 好办法 


相关文章: 百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星×万网:智能建站系统+自助建站平台一键生成  利用JavaScript实现拖拽改变元素大小  如何设计高效校园网站?  如何在西部数码注册域名并快速搭建网站?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  如何快速搭建响应式可视化网站?  如何通过免费商城建站系统源码自定义网站主题与功能?  相册网站制作软件,图片上的网址怎么复制?  教学论文网站制作软件有哪些,写论文用什么软件 ?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  如何用狗爹虚拟主机快速搭建网站?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  如何在Ubuntu系统下快速搭建WordPress个人网站?  建站之星如何实现网站加密操作?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星安装步骤有哪些常见问题?  如何在阿里云ECS服务器部署织梦CMS网站?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  如何快速生成可下载的建站源码工具?  C#怎么使用委托和事件 C# delegate与event编程方法  代刷网站制作软件,别人代刷火车票靠谱吗?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  建站之星安装提示数据库无法连接如何解决?  个人网站制作流程图片大全,个人网站如何注销?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  音乐网站服务器如何优化API响应速度?  建站VPS推荐:2025年高性能服务器配置指南  清除minerd进程的简单方法  如何在Golang中使用replace替换模块_指定本地或远程路径  成都响应式网站开发,dw怎么把手机适应页面变成网页?  黑客如何通过漏洞一步步攻陷网站服务器?  如何获取开源自助建站系统免费下载链接?  建站之星后台管理系统如何操作?  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何正确下载安装西数主机建站助手?  ,南京靠谱的征婚网站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  深入理解Android中的xmlns:tools属性  实现点击下箭头变上箭头来回切换的两种方法【推荐】  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  活动邀请函制作网站有哪些,活动邀请函文案?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  存储型VPS适合搭建中小型网站吗? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。