一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - FileUpload上傳圖片前實現圖片預覽功能(附演示動畫)

FileUpload上傳圖片前實現圖片預覽功能(附演示動畫)

2019-10-16 10:40asp.net技術網 ASP.NET教程

FileUpload控件上傳圖片前實現預覽,很多網友都希望實現這樣的功能,本人總結了一下,感興趣的朋友可以參考一下,希望對您有幫助

看看效果: 
FileUpload上傳圖片前實現圖片預覽功能(附演示動畫) 
在專案中,創建aspx頁面,拉上FileUpload控件一個Image,將用來預覽上傳時的圖片。 

復制代碼代碼如下:


View Code 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<table> 
<tr> 
<td style="vertical-align: top; width: 10%;"> 
<fieldset> 
<legend>選擇圖片</legend> 
<asp:FileUpload ID="FileUpload1" runat="server" /> 
</fieldset> 
</td> 
<td style="vertical-align: top; width: 90%;"> 
<fieldset> 
<legend>預覽</legend> 
<asp:Image ID="Image1" runat="server" Visible="false" /> 
</fieldset> 
</td> 
</tr> 
</table> 
</div> 
</form> 
</body> 
</html> 


在Page_Init事件中,為FileUpload控件,注冊onchange客戶端事件。 

復制代碼代碼如下:


protected void Page_Init(object sender, EventArgs e) 

this.FileUpload1.Attributes.Add("onchange", Page.ClientScript.GetPostBackEventReference(this.FileUpload1, "onchange")); 


接下來,Insus.NET一個axd處理文檔,其實ImageProcessFactory.cs只是一個普能的類別,只實作了IHttpHandler接口。 

復制代碼代碼如下:


ImageProcessFactory.cs 
using System; 
using System.Collections.Generic; 
using System.Drawing; 
using System.Drawing.Drawing2D; 
using System.Drawing.Imaging; 
using System.IO; 
using System.Linq; 
using System.Web; 
using System.Web.SessionState; 
/// <summary> 
/// Summary description for ImageProcessFactory 
/// </summary> 
namespace Insus.NET 

public class ImageProcessFactory : IHttpHandler,IRequiresSessionState 

public ImageProcessFactory() 

// 
// TODO: Add constructor logic here 
// 

public void ProcessRequest(HttpContext context) 

//Checking whether the UploadBytes session variable have anything else not doing anything 
if ((context.Session["UploadBytes"]) != null) 

byte[] buffer = (byte[])(context.Session["UploadBytes"]); 
context.Response.BinaryWrite(buffer); 


public bool IsReusable 

get 

return false; 




為能能應到axd文檔,需要在Web.Config中配置一下。 

復制代碼代碼如下:


View Code 
<configuration> 
<system.web> 
<httpHandlers> 
<add verb="*" path="PreviewImage.axd" type="Insus.NET.ImageProcessFactory"/> 
</httpHandlers> 
</system.web> 
</configuration> 


Ok,我們回到aspx.cs頁面中,要在page_Load中,怎監控FileUpload控件是否有值變化: 

復制代碼代碼如下:


View Code 
protected void Page_Load(object sender, EventArgs e) 

if (IsPostBack) 

var ctrl = Request.Params[Page.postEventSourceID]; 
var args = Request.Params[Page.postEventArgumentID]; 
OnchangeHandle(ctrl, args); 


在Page_Load中有一個方法OnchangeHandle(xxx,xxx): 

復制代碼代碼如下:


View Code 
private void OnchangeHandle(string ctrl, string args) 

if (ctrl == this.FileUpload1.UniqueID && args == "onchange") 

this.Image1.Visible = true; 
Session["UploadBytes"] = this.FileUpload1.FileBytes; 
this.Image1.ImageUrl = "~/PreviewImage.axd" ; 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 好男人在线观看hd中字 | 四虎在线精品免费高清在线 | 东北美女野外bbwbbw免费 | porno movie hd高清 | 欧美在线一二三区 | 欧美一区二区三区在线观看免费 | 色97色| 欧美在线视频 一区二区 | 亚洲熟区| 77久久| 精品视频手机在线观看免费 | 免费在线观看小视频 | 美女被灌浣肠失禁视频 | 欧美日韩成人在线 | 亲爱的客栈第二季免费观看完整版 | 香蕉久久一区二区三区 | 女人叉开腿让男人桶 | 亚洲欧美综合一区 | 4虎影视国产在线观看精品 4s4s4s4s色大众影视 | 亚洲国产精品综合一区在线 | 亚洲国产福利精品一区二区 | 美日韩一区二区三区 | 国产大乳美女挤奶视频 | 欧美人交性视频在线香蕉 | 午夜a一级毛片 | 亚洲老头与老太hd | 亚洲六月丁香六月婷婷蜜芽 | 日本一道一区二区免费看 | 亚洲啊v| 99久久精品国产综合一区 | 男人肌肌捅女人 | 日本又黄又裸一级大黄裸片 | 好湿好紧太硬了我太爽了网站 | 男女全黄h全肉细节文 | 色悠久久久久综合网小说 | 亚洲邪恶天堂影院在线观看 | poronovideos极度变态 | 午夜久久影院 | 交换余生在线播放免费 | 久久精品WWW人人爽人人 | 精品一区二区三区免费站 |