/*
 * PostNewWin
 * Author:ppchen
 */
var PostNewWin = function(url){
    var urlArr = url.split("?");
    var postUrl = urlArr[0];
    var postData = urlArr[1];
    var iframe = document.getElementById("postData_iframe");
    if(!iframe){
        iframe = document.createElement("iframe");
        iframe.id = "postData_iframe";
        iframe.scr= "about:blank";
        iframe.frameborder = "0";
        iframe.style.width = "0px";
        iframe.style.height = "0px";
        
        var form = document.createElement("form");
        form.id = "postData_form";
        form.method = "post";
        form.target = "_blank";
        
        document.body.appendChild(iframe);
        iframe.contentWindow.document.write("<body>" + form.outerHTML + "</body>");
    }
    iframe.contentWindow.document.getElementById("postData_form").innerHTML = "<input name='postData' id='postData' type='text' value='" + postData + "'/>";
    iframe.contentWindow.document.getElementById("postData_form").action = postUrl;
    iframe.contentWindow.document.getElementById("postData_form").submit();
};

/// <summary>
/// 从Form中取得参数
/// Author:ppchen
/// </summary>
/// <returns>参数集合</returns>
private NameValueCollection ParseFormData()
{
    NameValueCollection sQueryString = new NameValueCollection();
    if (this.Request.Form.Count > 0 && this.Request.Form["postData"] != null)
    {
        string sPostData = this.Request.Form["postData"].ToString();
        sPostData = sPostData.Trim(new char[] { '&', ' ' });
        if (!string.IsNullOrEmpty(sPostData))
        {
            string[] sParameterList = sPostData.Split('&');
            for (int i = 0; i < sParameterList.Length; i++)
            {
                string[] sParameter = sParameterList[i].Split('=');
                for (int j = 0; j < sParameter.Length; j = j + 2)
                {
                    sQueryString.Add(sParameter[j], HttpUtility.UrlDecode(sParameter[j + 1]));
                }
            }
        }
    }
    return sQueryString;
}

请求文件下载URL过长处理的更多相关文章

  1. C#进行Post请求(解决url过长的问题)

    //实例代码: 1.post请求 private string GetImageXY(string imgbyte) { string result3 = string.Empty; try { st ...

  2. GET请求中URL的最大长度限制总结

    由于jsonp跨域请求只能通过get请求,url长度根据浏览器及服务器的不同而有不同限制. 若要支持IE的话,最大的长度为2083字符,若是中文字符的话只有2083/9=231个字符. 若是Chrom ...

  3. php请求远程url内容方法

    php请求远程url内容有两个方法fopen/file_get_contents和curl. 1,fopen/file_get_contents与curl的差异 (1)fopen /file_get_ ...

  4. 允许asp.net MVC报 错说明: 访问服务此请求所需的资源时出错。服务器可能未配置为访问所请求的 URL。错误消息 401.2。: 未经授权

    运行mvc3程序报以下错误 详细报错如下: “/”应用程序中的服务器错误. 访问被拒绝. 说明: 访问服务此请求所需的资源时出错.服务器可能未配置为访问所请求的 URL. 错误消息 401.2.: 未 ...

  5. ajax 跨域请求时url参数添加callback=?会实现跨域问题

    例如: 1.在 jQuery 中,可以通过使用JSONP 形式的回调函数来加载其他网域的JSON数据,如 "myurl?callback=?".jQuery 将自动替换 ? 为正确 ...

  6. ASP.NET获取请求的url信息汇总

    ASP.NET获取请求的url信息汇总 最近做项目需要处理一个用代码获取当前网站的域名或ip信息的问题,于是尝试了ASP.NET中各种获取url信息的方法,在此总结一下: 在Global.asax文件 ...

  7. curl请求的url中含有空格

    curl请求的url中含有空格时(例如rul的参数是sql查询语句,url=www.tets.com/query.php?sql=select * from t1),curl_easy_perform ...

  8. node.js 针对不同的请求路径(url) 做出不同的响应

    边看这个边写的: http://wenku.baidu.com/link?url=C4yLe-TVH6060u_x4t34H3Ze8tjoL7HjJaKgH-TvHnEYl-T_gAMYwhmrCeM ...

  9. Django的请求流程(url)

    一.Django是怎么处理请求的? 当你通过在浏览器里敲http://127.0.0.1:8000/hello/来访问Hello world消息得时候,Django在后台有些什么动作呢? 所有均开始于 ...

随机推荐

  1. EF 新增数据时提示it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element

    it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionM ...

  2. WPF PasswordBox MVVM 实现

    由于PasswordBox.Password属性非依赖属性,所以不能作为绑定的目标,以下是本人的MVVM实现方法. PasswordBox.Password与TextBox.Text同步,TextBo ...

  3. 将class类对象转化成json的数据格式

    直接上代码: JSONObject的的使用需要导入json-lib-2.4-jdk15.jar包,下载地址:http://mvnrepository.com/artifact/net.sf.json- ...

  4. H5 标签属性、input属性

    高亮文字: 全部商品只要<mark>6.18</mark> 结果:     加拼音文字: <ruby>變<rt>bian</rt></ ...

  5. JS——void(0)

    a标签中阻止跳转: <a href="javascript:;">跳转</a> <a href="javascript:void(0)&qu ...

  6. 行动起来:转换传统桌面应用程序到UWP 并发布到Windows 应用商店!

    一个月前微软发布了桌面应用程序转换器(Desktop Application Converter),让我们可以把现有的桌面应用程序(.NET 4.6.1 或 Win32)轻松转换成 通用 Window ...

  7. Matrix computations in C

    meschach配置使用 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !im ...

  8. 【技术累积】【点】【java】【22】UUID

    基础概念&使用 UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符. 说白了就是个唯一键,只不过到处 ...

  9. 总结这几天js的学习内容

    对js中难点的理解 1.把变量对象像遍历数组一样简单 对于数组 ,迭代出来的是数组元素,对于对象 ,迭代出来的是对象的属性: var obj = { w: "wen", j: &q ...

  10. B树、B+树

    when ? why ? how ? what ? 平衡二叉树其查找的时间复杂度是 O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率. 如果我们要操作的数据集非常大,大到内存已经没法 ...