• jquery图片上传新思路


    本文主要针对于上传多张图片时,要显示进度条但是表单窗口不够显示的情形。其解决方案如下:

    1、在表单窗口添加能够显示上传成功图片的input 和上传图片按钮

    2、点击图片上传按钮弹出div窗口;

    3、div窗口iframe一个图片上传的页面,此页面采用html5对多张图片上传预览、显示上传进度等效果。

    4、在图片接受后台代码中将上传成功的图片文件名或者图片服务器URL地址串写入到session;

    5、在表单窗口中添加div窗口关闭方法,在此方法中实现通过ajax调用GetSerrion.ashx,

    6、将返回的结果显示在input中。

    表单页面html:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    	<title>Jquery教程演示:JavaScript弹出窗口DIV层效果代码--代码吾爱 </title>
    	<link rel="stylesheet" href="general.css" type="text/css" media="screen" />
    	<script src="../js/JScript.js" type="text/javascript"></script>
    	<script src="popup.js" type="text/javascript"></script>
    </head>
    <body>
    	<center>
    		<div id="button"><input type="submit" value="点击这里查看效果" /></div>
    		
    	</center>
    	<div id="popupContact">
    
    		<a id="popupContactClose">x</a>
    		<h1>图片上传窗口</h1>
    			<iframe src="../MainPage/login.aspx"   height="90%" width="100%" ></iframe>
    		</div>
    	<div id="backgroundPopup"></div>
    </body>
    </html>
    

     表单js代码:

    /***************************/
    //@Author: Adrian "yEnS" Mato Gondelle
    //@website: www.yensdesign.com
    //@email: yensamg@gmail.com
    //@license: Feel free to use it, but keep this credits please!					
    /***************************/
    
    //SETTING UP OUR POPUP
    //0 means disabled; 1 means enabled;
    var popupStatus = 0;
    
    //loading popup with jQuery magic!
    function loadPopup(){
    	//loads popup only if it is disabled
    	if(popupStatus==0){
    		$("#backgroundPopup").css({
    			"opacity": "0.7"
    		});
    		$("#backgroundPopup").fadeIn("slow");
    		$("#popupContact").fadeIn("slow");
    		popupStatus = 1;
    	}
    }
    
    //disabling popup with jQuery magic!
    function disablePopup(){
    	//disables popup only if it is enabled
    	if(popupStatus==1){
    		$("#backgroundPopup").fadeOut("slow");
    		$("#popupContact").fadeOut("slow");
    		popupStatus = 0;
    		$.ajax({
    		url:"GetSession.ashx?key=tupian",
    		async:false,
    		cache:false,
    		success:function(data){
    		alert(data);
    		},
    		error:function(data){
    		alert(data);
    		}
    		});
    	    
    		
    		
    		
    	
    		//alert("关闭了");
    	}
    }
    
    //centering popup
    function centerPopup(){
    	//request data for centering
    	var windowWidth = document.documentElement.clientWidth;
    	var windowHeight = document.documentElement.clientHeight;
    	var popupHeight = $("#popupContact").height();
    	var popupWidth = $("#popupContact").width();
    	//centering
    	$("#popupContact").css({
    		"position": "absolute",
    		"top": windowHeight/2-popupHeight/2,
    		"left": windowWidth/2-popupWidth/2
    	});
    	//only need force for IE6
    	
    	$("#backgroundPopup").css({
    		"height": windowHeight
    	});
    	
    }
    
    
    //CONTROLLING EVENTS IN jQuery
    $(document).ready(function(){
    	
    	//LOADING POPUP
    	//Click the button event!
    	$("#button").click(function(){
    		//centering with css
    		centerPopup();
    		//load popup
    		loadPopup();
    	});
    				
    	//CLOSING POPUP
    	//Click the x event!
    	$("#popupContactClose").click(function(){
    		disablePopup();
    	});
    	//Click out event!
    	$("#backgroundPopup").click(function(){
    		disablePopup();
    	});
    	//Press Escape event!
    	$(document).keypress(function(e){
    		if(e.keyCode==27 && popupStatus==1){
    			disablePopup();
    		}
    	});
    
    });
    

     接受图片后台代码:

    <%@ WebHandler Language="C#" Class="Handler" %>
    
    using System;
    using System.Web;
    using System.Web.SessionState;
    public class Handler : IHttpHandler,IRequiresSessionState {
        
        
        public void ProcessRequest (HttpContext context)
        {
    
    
    
            context.Session["tupian"] = "1111";
            
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }
        
        
        
    
    }

    通过ajax读取图片信息:

    <%@ WebHandler Language="C#" Class="GetSession" %>
    
    using System;
    using System.Web;
    using System.Web.SessionState;
    public class GetSession : IHttpHandler,IRequiresSessionState {
        
        public void ProcessRequest (HttpContext context) {
            context.Response.ContentType = "text/plain";
            string value = "";
            //context.Response.Write("Hello World");
            if(context.Request.QueryString["key"]!=null)
            {
                string key=context.Request.QueryString["key"].ToString();
               value= context.Session[key].ToString();
            }
            context.Response.Write(value);
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }
    
    }
  • 相关阅读:
    Hello,world的几种写法!
    浮动与清除浮动
    css中表格的table-layout属性特殊用法
    CSS之照片集效果
    CSS之transition过渡练习
    CSS之过渡简单应用—日落西山
    CSS之立方体绘画步骤
    CSS之立体球体
    transform
    Vue.sync修饰符与this.$emit('update:xxx', newXXX)
  • 原文地址:https://www.cnblogs.com/engine/p/4236411.html
Copyright © 2020-2023  润新知