C#实现图片上传与浏览切换的方法
作者:shichen2014 发布时间:2023-10-06 06:44:05
标签:C#,图片,上传,浏览,切换
本文以一个完整实例讲述了C#实现图片上传与浏览切换的方法,对于进行C#程序设计来说具有一定的借鉴价值。分享给大家供大家参考。
具体实现代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
<!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">
<head runat="server">
<title>无标题页</title>
<script src="js/jquery-1.7.2.js" type="text/javascript"></script>
<script src="js/jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.upic').change(function() {
var filename = $(this).val().replace(/.*(\/|\\)/, ""); //文件名
var fileExt = (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename.toLowerCase()) : ''; //后缀名
if (fileExt != "jpeg" && fileExt != "jpg" && fileExt != "gif" && fileExt != "png") {
alert('请选择一个jpg或gif的图片文件');
return;
};
$(this).parent().parent().parent().addClass('support');
if ($.browser.msie) {
if ($.browser.version == "6.0") {
$(this).parent().parent().siblings(".preview").html('<img style="height:auto;width:88px;" src="' + $(this).val() + '"/>');
} else {
var previewDiv = $(this).parent().parent().siblings(".preview");
previewDiv.css({ filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image)" });
previewDiv[0].filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "scale";
try {
previewDiv[0].filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = getPath($(this)[0]);
}
catch (e) {
alert(e.name + ": " + e.message);
alert("无效的图片文件!");
return;
}
}
}
else {
//var data=$(this)[0].files.item(0).getAsDataURL();
var data = window.URL.createObjectURL($(this)[0].files[0]);
$(this).parent().parent().siblings(".preview").html('<img style="height:auto;width:88px;" src="' + data + '"/>');
return;
}
$(this).parent().parent().parent().mouseover(function() { $(this).addClass('hover'); }).mouseout(function() { $(this).removeClass('hover'); });
});
$('.del').click(function() {
$(this).parent().siblings("[name='isDel']").val("1");
var file = $(this).parent().siblings(".upload").children().children(".upic");
file.after(file.clone(true).val("")).remove();
$(this).parent().siblings(".preview").after('<div class="preview"></div>').remove();
//$(this).parent().siblings(".preview").empty();
$(this).parent().parent().removeClass('support').mouseout().unbind('mouseover');
});
if ($.browser.msie) {
$('#memberPhoto').filter('.support').mouseover(function() { $(this).addClass('hover'); }).mouseout(function() { $(this).removeClass('hover'); });
};
//获得上传控件的值,obj为上传控件对象
function getPath(obj) {
if (obj) {
if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
obj.select();
document.getElementById("btnSave").focus(); //hack for IE9下,如果file控件获得焦点,则document.selection.createRange()拒绝访问
return document.selection.createRange().text;
}
else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
if (obj.files) {
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="pic">
<div id="memberPhoto" style="position: relative">
<%if (!string.IsNullOrEmpty(imagePath))
{%>
<div class="preview">
<img src="../<%=imagePath%>" style="height: auto; width: 88px;" /></div>
<%}
else
{%>
<div class="preview">
</div>
<%}%>
<div class="upload">
<a class="a-sc" href="javascript:;">
<input id="imageUpload" class="upic" type="file" name="upic" runat="server" />
</a>
</div>
<div class="act">
<span class="del">删除</span>
</div>
</div>
</div>
</form>
</body>
</html>
public partial class Default3 : System.Web.UI.Page
{
public string imagePath = "";
protected void Page_Load(object sender, EventArgs e)
{
}
}
希望本文实例对大家的C#程序设计有所帮助。
0
投稿
猜你喜欢
- 1>方法一之前在配置 Maven 的 settings.xml 时,都会设置 mirror 节点,例如:<mirrors>
- 引言从本篇文章开始,我们将介绍 Java AQS 的实现方式,本文先介绍 AQS 的内部数据是如何组织的,后面的文章中再分别介绍 AQS 的
- SpringMVC4使用数据校验的时候需要使用hibernate-validator的包第一步添加依赖 <d
- 在项目中有一个需求是需要在局域网内跨PC远程调用一个程序,并且要求有界面显示,调查了一些资料,能实现远程调用的.Net技术大概有PsExec
- 1.什么是Ribbon目前主流的负载均衡方案分为以下两种:(1)集中式负载均衡:在消费者和服务提供者中间使用独立的代理方式进行负载,有硬件的
- 关于Function.identity()的使用简单介绍话不多说,直接上JDK源码:static Function identity() {
- 前言解释:之前用的ScreenToGif录屏,因为上传的.gif最大不超过5MB,所以做了不少删帧和色彩弱化等处理,这才导致色彩看上去不是很
- 下面给大家介绍下mybatis结果生成键值对的实例代码,具体内容如下所示:在实际应用中我们经常会遇到这样的情况,需要给下拉框赋值,这个时候就
- 本文实例为大家分享了java登录界面的具体实现代码,供大家参考,具体内容如下1. Login.javapackage wzb;import
- yaml中的数组类型取值yaml中简单的风格,十分受大家的欢迎先说下简单的配置如何取值# application-dev.yml testV
- 前言值类型和引用类型,是c#比较基础,也必须掌握的知识点,但是也不是那么轻易就能掌握,今天跟着老胡一起来看看吧。 典型类型首先我们
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对
- 1.特殊数组的特征值题目描述思路详解看到本题,首先思考需要排序,然后查找,这里为了效率采用二分查找。假设定义x=(left+riht)/ 2
- 最近比较无聊,随便翻着博客,无意中看到了有的人用VBS读文本内容,也就是读几句中文,emmm,挺有趣的,实现也很简单,都不需要安装什么环境,
- 图像的旋转需要调用 Graphics2D 类的rota
- SpringBoot项目中新增脱敏功能项目背景目前正在开发一个SpringBoot项目,此项目有Web端和微信小程序端。web端提供给工作人
- 差不多一年前在自己的项目中用过这效果,虽然很简单,但还是写写。1、首先在你的res目录下新建anim子目录,并在anim目录下新建两个文件:
- package other;import java.security.MessageDigest;import java.security.
- 如何更改 C# Record 构造函数的行为Record[1] 是 C# 9 中的一个新功能。Record是从Structs[2]借用的特殊
- 在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。通常对象之间的比较可以从两个方面去看:第一个方面:对象的地址是否