C#实现图片上传与浏览切换的方法
作者:shichen2014 时间:2023-10-06 06:44:05
本文以一个完整实例讲述了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#程序设计有所帮助。
标签:C#,图片,上传,浏览,切换
0
投稿
猜你喜欢
使用Java实现Redis限流的方法
2023-09-27 01:43:47
springboot集成开发实现商场秒杀功能
2022-06-23 11:05:27
Java获取任意http网页源代码的方法
2022-07-06 01:45:37
Android进阶事件分发机制解决事件冲突
2021-08-22 06:12:34
RocketMQ存储文件的实现
2023-03-16 15:11:27
Java面向对象选择题总结归纳
2023-08-05 23:30:21
C#基础教程之IComparable用法,实现List<T>.sort()排序
2023-11-03 07:07:46
集成apollo动态日志取缔logback-spring.xml配置
2021-10-15 16:53:19
Android实现读取NFC卡的编号
2021-07-13 11:19:21
浅谈c++性能测试工具之计算时间复杂度
2023-07-09 12:40:05
C# 中DateTime 的使用技巧汇总
2022-04-17 07:32:05
C#设计模式之适配器模式与装饰器模式的实现
2021-10-30 02:54:32
Java线程生命周期的终止与复位
2022-04-22 01:57:01
C#实现绘制浮雕图片效果实例
2023-10-10 04:34:04
Spring Cloud动态配置刷新RefreshScope使用示例详解
2022-05-23 15:05:32
java ReentrantLock条件锁实现原理示例详解
2023-12-12 02:36:13
Java实现从Html文本中提取纯文本的方法
2023-06-18 20:28:26
Java 精炼解读数据结构逻辑控制
2023-09-14 05:35:37
C#使用Objects Comparer进行对象比较
2022-06-03 05:40:30
idea2020.3.3集成maven及遇到的坑(推荐)
2021-11-18 04:18:54