WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院网页设计JavaScript Jquery基于ActiveX的批量上传 阅读

Jquery基于ActiveX的批量上传

 2010-01-08 00:00:00 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姈椤愮厧鈽夊Ο閿嬬€婚梺褰掑亰閸撴稑鈻斿鑸碘拺闁告稑饪村▓鏃€绻涚仦鍌氬闁崇粯鎹囬獮瀣攽閹邦剚顔傛俊鐐€栧濠氬储瑜忛幉鎾晸閿燂拷
核心提示: 服务器端主要代码:#regionPage_LoadprotectedvoidPage_Load(objectsender,EventArgse){StreamphotoStream=Request.InputStream;XmlDocumentdoc=newXmlDocument();if(Re

服务器端主要代码:

#region Page_Load
        protected void Page_Load(object sender, EventArgs e)
        {
            Stream photoStream = Request.InputStream;
            XmlDocument doc = new XmlDocument();
            if (Request.InputStream != null)
            {
                //byte[] _tmpData = new byte[photoStream.Length];
                //photoStream.Read(_tmpData, 0, Convert.ToInt32(photoStream.Length));
                //string request1 = System.Text.Encoding.UTF8.GetString(_tmpData); 

                doc.Load(photoStream);
                XmlNode nod = doc.DocumentElement.SelectSingleNode("path");
                Paths = nod.InnerText;
                nod = doc.DocumentElement.SelectSingleNode("fpath");
                string fpath = nod.InnerText;
                nod = doc.DocumentElement.SelectSingleNode("leave");
                string leaving = nod.InnerText;
                nod = doc.DocumentElement.SelectSingleNode("istj");
                string istj = nod.InnerText;
                string photoXML = doc.DocumentElement.SelectSingleNode("photo").InnerText;
                byte[] photo = Convert.FromBase64String(photoXML);

                //去除xml中的多余标签和属性,转化为stream
                MemoryStream stream = new MemoryStream();
                XmlDocument docphoto = new XmlDocument();
                char[] str = photoXML.ToCharArray();
                for (int i = 0; i < photo.Length; i++)
                {
                    stream.WriteByte(photo[i]);
                }
                docphoto.Save(stream);

                if (!string.IsNullOrEmpty(Paths))
                {
                    //存入cookie
                    HttpCookie cookie = Request.Cookies["Path"];
                    if (cookie == null)
                    {
                        cookie = new HttpCookie("Path");
                    }
                    cookie["path"] = fpath;
                    cookie["istj"] = istj;
                    cookie.Expires = DateTime.Now.AddDays(100d);
                    Response.Cookies.Add(cookie);
                    UploadPh(Paths, leaving, istj, stream);//在此方法处理你的上传
                }
            }
        }
#endregion

目前此方法有三大问题:

1.不同的浏览器安全级别略有区别,activex经常会弹出提示,影响用户体验,有的还需要用户设置本站点为信任站点。

2.除IE外别的浏览器无法使用

3.IE有一个补丁对ADODB.Stream进行了限制使用,如果你一直开了自动更新或打了这个补丁,会弹出js错误:automation无法在服务器创建。其实就是ADODB.Stream无法创建对象造成的。

解决方法:打开注册表编辑器

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\

把{00000566-0000-0010-8000-00AA006D2EA4} 项删除或修改键值为任意值(除了400),这样你的ADODB.Stream就可以创建成功了。

上一页  1 2 3 4 5 6 

Tags:Jquery 基于 ActiveX

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接