本文以一个完整实例讲述了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#程序设计有所帮助。
本文地址:https://www.stayed.cn/item/20543
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我