关于使用com.flajaxian.fileuploader的种种

最近在一个项目里需要制作一个上传下载控件,还非得指定用com.flajaxian.fileuploader这个东西,主要是公司已经有人把这个包装过一次了,所以让我改装一下放到现在的项目里。

好嘛,改就改,改好了在测试页面没有问题,放到项目里就上传不上去,其他都显示正常就是文件上不去。

对Flash上传不熟,搞的我焦头烂额,我把放在项目里的页里和放测试里的页里的HTML对比了下,除了ID几乎都一样,怎么就不行呢?

然后我下狠手,把项目页里的无关东西都删了,把控件直接拖进去,没有问题。

然后我对比了一下直接拖进去和从项目里动态加进去的HTML码区别,终于发现了问题所在:

targetUrl:"/p.aspx?f=20120202144830_(!AMP!)_itemid=53_(!AMP!)___ID=Ysh_UpDown_ctl14_(!AMP!)_"

  这是可用的

targetUrl:"/p.aspx?_(!AMP!)__(!AMP!)___

  这是不可用的

很明显,他把页面的参数给截掉了,用reflector反编译找了找,找到了这段

Append(fvSb, "targetUrl", this.PageUrl, "\"");
public string PageUrl
{
    get
    {
        if (this._pageUrl == null)
        {
            return this.ComposePageUrl(this.Page.Request.Url.AbsoluteUri.Substring(0, this.Page.Request.Url.AbsoluteUri.Length - this.Page.Request.Url.Query.Length));
        }
        return this.ComposePageUrl(this._pageUrl);
    }
    set
    {
        this._pageUrl = base.ResolveUrl(value);
    }
}
 

 

好嘛,还真是特地截掉的参数,为了实现无刷新的效果,用AJAX请求了和当前一样的页,问题是如果uploader的参数跟当前页面的参数有关,就会出问题了。

好在PageUrl提供了接口,把值设置成当前页的全路径,总算是OK了.

posted on 2012-05-09 09:28  加温  阅读(459)  评论(0编辑  收藏  举报

导航