热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

急!急!急!asp.netdwz框架上传文件

使用一般处理程序上传文件在页面单独使用没有问题但是放入dwz框架后就获取不到文件了
使用一般处理程序 上传文件  在页面单独使用没有问题
但是放入dwz框架后 就获取不到文件了

16 个解决方案

#1




    
    
        
            

                经营理念
                
                    
经营理念:

                    

                        <%=arti%>
                    

                
                
                    
图片1:

                    

                        " />(图片大小:228*123)
                    

                
                
                    
图片1上传:

                    

                        
                    

                

                
                    
图片2:

                    

                        " />

                
                
                    
图片2上传:

                    

                        
                    

                
        

        
            

                    

  •                     
                            
                                
                                    保存

                    

                
                

  •                     
                            
                                
                                    取消

  •                     

                    
                

            
        
        




    public class Philosophy1 : IHttpHandler
        {

            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(context.Server.MapPath("../pTxt.xml"));
                XmlNodeList xmlNodeList = xmlDoc.SelectNodes("/texts/text[@title='经营理念']");//查找
                XmlNode xmlNode = xmlNodeList.Item(0);
                ((XmlElement)xmlNode).Attributes["arti"].Value = context.Request.Form["txt_arti"];
                

                HttpPostedFile hpf1 =context.Request.Files["file_image1"];//HttpPostedFile提供对客户端已上载的单独文件的访问
                if (hpf1!=null)
                {
                    string fileName = System.IO.Path.GetFileName(hpf1.FileName);  
                    string savepath = context.Server.MapPath("../image/" + fileName);//路径,相对于服务器当前的路径
                    hpf1.SaveAs(savepath);//保存
                    ((XmlElement)xmlNode).Attributes["image1"].Value = "image/" + fileName;
                }

                xmlDoc.Save(context.Server.MapPath("../pTxt.xml"));
                string data = "{\"statusCode\":\"200\",\"message\":\"保存成功\",\"navTabId\":\"\",\"callbackType\":\"closeCurrent\",\"forwardUrl\":\"\"}";
                context.Response.Write(data);
                
            }

    #2


    没人弄过么

    #3


    大牛人呢

    #4


    http://www.hake.cc/a/biancheng/web/js/2011/0925/24776.html

    #5


    引用 4 楼 hefeng_aspnet 的回复:
    http://www.hake.cc/a/biancheng/web/js/2011/0925/24776.html

    一点有价值的东西都没

    #6


    文件上传表单提交
    因为Ajax不支持enctype="multipart/form-data" 所以用隐藏iframe来处理无刷新表单提交.  






    文档上写的很清楚。

    #7


    请问你楼主的问题解决了没?

    #8


    我的回调出现提示错误,但是文件是上传了的,求解

    #9


    引用 8 楼 leancom 的回复:
    我的回调出现提示错误,但是文件是上传了的,求解

    因为文档里把ifarmeCallback 接错了。
    你没看ifarmeCallback 应该是iframeCallback。不细心的作者害死一群人。

    #10


    dwz-ria-1.3Final2 版本



        
            
                

                    新闻
                    
                        
    名称:

                        

                            
                        

                    

                        
    图片:

                        

                            
                        

                    
                    

            

            
                

                        
                    
                    

  •                     
                            
                                
                                    取消
                        
                    

  •             
            
        
        
    context.Response.ContentType = "text/plain";
                string data = "{\"statusCode\":\"200\",\"message\":\"保存成功\",\"navTabId\":\"\",\"rel\":\"\",\"callbackType\":\"closeCurrent\",\"forwardUrl\":\"\"}";
                context.Response.Write(data);


    页面直接返回
    {"statusCode":"200","message":"保存成功","navTabId":"","rel":"","callbackType":"closeCurrent","forwardUrl":""}

    #11


    你可以在dwz.min.js里找到这2个函数

    function iframeCallback(form,callback){
    var $form=$(form),$iframe=$("#callbackframe");
    if(!$form.valid()){return false;}
    if($iframe.size()==0){
    $iframe=$("").appendTo("body");}
    if(!form.ajax){
    $form.append('');}
    form.target="callbackframe";
    _iframeResponse($iframe[0],callback||DWZ.ajaxDone);}
    function _iframeResponse(iframe,callback){
    var $iframe=$(iframe),$document=$(document);
    $document.trigger("ajaxStart");
    $iframe.bind("load",function(){
    $iframe.unbind("load");
    $document.trigger("ajaxStop");
    if(iframe.src=="Javascript:'%3Chtml%3E%3C/html%3E';"||
    iframe.src=="Javascript:'';"){
    return;}
    var doc=iframe.contentDocument||iframe.document;
    if(doc.readyState&&doc.readyState!='complete')return;
    if(doc.body&&doc.body.innerHTML=="false")return;
    var response;
    if(doc.XMLDocument){
    respOnse=doc.XMLDocument;}else if(doc.body){
    try{
    respOnse=$iframe.contents().find("body").html();
    alert(response);
    respOnse=jQuery.parseJSON(response);
    alert(response);
    }catch(e){
    respOnse=doc.body.innerHTML;}}else{
    respOnse=doc;}
    callback(response);});}

    alert出来的是带有 预格式化的文本标签
    {"statusCode":"200",.....}

    用dwz还是用mvc比较好,
    用asp.net webform,我一般都是自己写个基类处理提交。 没用ashx

    #12


    上楼alert的字体没变色。悲剧  是在倒数 第5 行和第7行的。
    简单的基类你看看希望对你有所帮助, 加权限了,可以在初始方法里判断
    public class PageBase : System.Web.UI.Page
        {
            protected BasePageInfo page = new BasePageInfo();
            protected int subFlag = 0;
            protected override void OnInit(EventArgs e)
            {
                //验证是否登陆
                CheckAdminLogin();
            }
            public virtual void InitFuncPage()
            {
                subFlag = ParseValue.ToInt(Request["subflag"]);
                if (subFlag > 0)
                {
                    string errinfo = ValidatorInput();
                    if (errinfo.Trim().Length == 0)
                    {
                        //保存操作
                        PageSave();
                    }
                    else
                    {
                        GetError(errinfo, String.Empty);
                    }
                }
                else  //执行浏览操作
                {
                    LoadPageMain();
                }
            }

            protected void GetError(string message, string callbackType)
            {
                string json = ReturnMessage.GetStringJson("300", message, String.Empty, String.Empty, callbackType);
                Response.Write(json);
                Response.End();
            }

            protected void GetOK(string message, string navtabId, string callbackType)
            {
                string json = ReturnMessage.GetStringJson("200", message, navtabId, String.Empty, callbackType);
                Response.Write(json);
                Response.End();
            }

            protected void GetJson(string stateCode, string message, string navTabId, string forward, string callBackType)
            {
                string json = ReturnMessage.GetStringJson(stateCode, message, navTabId, forward, callBackType);
                Response.Write(json);
                Response.End();
            }

            #region 派生类继承函数

            /// 
            /// 保存操作(派生类实现方法体)
            /// 

            /// 
            protected virtual void PageSave()
            {

            }

            /// 
            /// 页面加载
            /// 

            /// 
            protected virtual void LoadPageMain()
            {

            }

            /// 
            /// 验证客户端输入是否正确,正确返回""空字符串(派生类实现方法体)
            /// 

            /// 
            protected virtual string ValidatorInput()
            {
                return "";
            }

            #endregion

            #region 判断是否登录

            /// 
            /// 判断是否登录
            /// 

            protected void CheckAdminLogin()
            {
                if (Session["ID"] == null || Session["ID"].ToString().Trim().Length == 0)
                {
                    Response.Write(@"{
                                                 'statusCode':'301',
                                                 'message':'\u4f1a\u8bdd\u8d85\u65f6\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\u3002',
                                                 'navTabId':'',
                                                 'callbackType':'',
                                                 'forwardUrl':''
                                                }");
                    Response.End();
                }
                else
                {
                    page.App_UserId = ParseValue.ToInt(HttpContext.Current.Session["ID"]);
                    
                }
            }

            #endregion
        }

    #13


    你提交的时候可以在aspx页面的Form表单下添加个隐藏域



     //隐藏域标识
        
            
                

                    新闻
                    
                        
    名称:

                        

                            
                        

                    

                        
    图片:

                        

                            
                        

                    
                    

            

            
                

                        
                    
                    

  •                     
                            
                                
                                    取消
                        
                    

  •             
            
        
        

    #14


      哪个的是真的可以的?

    #15


      哪一个回答的可以解决问题?

    #16


    引用 楼主 anchenyanyue 的回复:
    使用一般处理程序 上传文件  在页面单独使用没有问题
    但是放入dwz框架后 就获取不到文件了
     请问楼主这个问题是怎么解决的?

    推荐阅读
    author-avatar
    隔岸观火2502884207
    这个家伙很懒,什么也没留下!
    Tags | 热门标签
    RankList | 热门文章
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有