标签:base64
C#Base64篇:Base64与Image互转篇:主要讲解依据业务需求开发图片展示与图片保存
TODO:
1,新增页面,保存路径名
2,查看页面,数据来源于其它表,读取base64数据格式图片转换为图片显示
讲解篇:1,新增页面,保存路径名2,查看页面,数据来源于其它表,读取base64数据格式图片转换为图片显示
1,新增页面,保存路径名
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Event.aspx.cs" Inherits="HMFW.Web.Pages.AndroidAPP.Event" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<%-- <script src="/Js/jquery-1.4.1.min.js"></script>--%>
<script src="/Js/AndroidAPP/jquery-1.7.2.js"></script>
<script src="/Js/jquery.pager.js"></script>
<link href="/css/AndroidAPP/Pager.css" rel="stylesheet" />
<link href="/css/AndroidAPP/jqbase.css" rel="stylesheet" />
<link href="/css/AndroidAPP/reset.css" rel="stylesheet" />
<link href="/css/AndroidAPP/zyUpload.css" rel="stylesheet" />
<script src="/Js/AndroidAPP/zyFile.js"></script>
<script src="/Js/AndroidAPP/zyUpload.js"></script>
<script src="/Js/My97DatePicker/WdatePicker.js"></script>
<script src="/Js/AndroidAPP/Common.js"></script>
<script src="/Js/AndroidAPP/Event.js"></script>
<script src="/Js/jquery.form.js"></script>
<script src="/Js/jquery.validate.js"></script>
<style type="text/css">
.add {
border-top: 1px solid #EEEEEE;
border-left: 1px solid #EEEEEE;
}
.add tbody td {
border-right: 1px solid #EEEEEE;
border-bottom: 1px solid #EEEEEE;
font: 16px/36px "microsoft yahei";
color: #333333;
padding: 2px 5px;
}
.add tbody td input {
border: 1px solid #DDDDDD;
height: 30px;
width: 300px;
padding: 0px 5px;
font: 16px/30px "microsoft yahei";
}
.add tbody td textarea {
border: 1px solid #DDDDDD;
height: 100px;
width: 680px;
padding: 5px;
font: 14px/26px "microsoft yahei";
margin: 5px 0px;
}
.add tbody td input.ssbtn {
width: 100px;
height: 32px;
background: #0073c6;
border: none;
color: #FFFFFF;
font: 16px/32px "microsoft yahei";
margin: 5px 0px;
}
.add tbody td .red {
color: #FF0000;
padding-right: 5px;
font: bold 16px/36px "microsoft yahei";
}
</style>
<script type="text/javascript">
$(function () {//Img1..hidImg1
$("input[id*='delPic']").click(function () {
if (!confirm("是否确定删除图片?")) {
return false;
}
});
$("#Img1").click(function () {
});
});
function CheckUpLoad(obj) {
var picPath = $(obj).val();
if (picPath == "") {
alert("请选择需要上传的图片!");
return false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div class="jq-top">
<div class="top-content">
<a href="javascript:history.go(-1)" class="top-left-action"><span class="icon icon-back"></span></a>
<h2 class="top-title">第一时间</h2>
<a href="main.aspx" class="top-right-action"><span class="icon icon-home"></span></a>
</div>
</div>
<table id="T_Content" width="900" border="0" align="center" cellpadding="0" cellspacing="0" class="add">
<tbody>
<tr>
<td width="30%" align="right">图片显示:</td>
<td>
<img id="Img1" runat="server" src="~/Images/AndroidAPP/zyUpload/add_img.png" width="100" height="100" alt="暂无图片" />
<input id="hidImg1" type="hidden" runat="server" />
<img id="Img2" runat="server" src="~/Images/AndroidAPP/zyUpload/add_img.png" width="100" height="100" alt="暂无图片" />
<input id="hidImg2" type="hidden" runat="server" />
</td>
</tr>
<tr>
<td align="right">图片地址:</td>
<td>
<div id="upload">
<input type="file" id="file1" runat="server" />
<asp:Button ID="bthUpLoad1" runat="server" OnClientClick="return CheckUpLoad(file1)" OnClick="bthUpLoad1_ServerClick" Text="上传" Width="80" />
<asp:Button ID="delPic1" runat="server" Text="删除" Width="80" OnClick="delPic1_Click" />
</div>
<div id="Div1">
<input type="file" id="file2" runat="server" />
<asp:Button ID="bthUpLoad2" runat="server" OnClientClick="return CheckUpLoad(file2)" OnClick="bthUpLoad2_ServerClick" Text="上传" Width="80" />
<asp:Button ID="delPic2" runat="server" Text="删除" Width="80" OnClick="delPic2_Click" />
</div>
<%-- <div id="Div2">
<input type="file" id="File3" runat="server" />
<asp:Button ID="bthUpLoad3" runat="server" Text="上传" OnClick="bthUpLoad3_Click" Width="80" />
</div>
<div id="Div3">
<input type="file" id="File4" runat="server" />
<asp:Button ID="bthUpLoad4" runat="server" Text="上传" OnClick="bthUpLoad4_Click" Width="80" />
</div>--%>
</td>
</tr>
<tr>
<td align="right"><span class="red">*</span>事件标题:</td>
<td>
<input type="text" name="sEventTitle" id="sEventTitle" runat="server" />
</td>
</tr>
<!--
<tr>
<td align="right">图片地址:</td>
<td>
<input type="text" name="textfield2" id="text1" /> <input type="submit" name="Submit" value="拍照" class="ssbtn" /> <input type="submit" name="Submit" value="浏览" class="ssbtn" /></td>
</tr>
-->
<tr>
<td align="right"><span class="red">*</span>录入人:</td>
<td>
<input type="text" name="sInputPerson" id="sInputPerson" /></td>
</tr>
<tr>
<td align="right"><span class="red">*</span>录入日期:</td>
<td>
<asp:TextBox ID="dInputDate" runat="server" class="srk001" EnableTheming="false"
onclick="WdatePicker({maxDate:'%y-%M-#{%d}'})"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right"><span class="red">*</span>内容:</td>
<td>
<textarea name="sContent" id="sContent" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td align="right">备注:</td>
<td>
<textarea name="sMemo" id="sMemo" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" onclick="add();" id="btnSubmit" value="提交" class="ssbtn" />
<input type="button" onclick="Back();" value="返回" class="ssbtn" />
</td>
</tr>
</tbody>
</table>
<div class="listmain">
</div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Linq;
using System.IO;
namespace HMFW.Web.Pages.AndroidAPP
{
public partial class Event : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void bthUpLoad1_ServerClick(object sender, EventArgs e)
{
string strPath = UpLoadPic(file1);
if (string.IsNullOrEmpty(strPath))
return;
Img1.Src = strPath;
hidImg1.Value = strPath;
}
protected void bthUpLoad2_ServerClick(object sender, EventArgs e)
{
string strPath = UpLoadPic(file2);
if (string.IsNullOrEmpty(strPath))
return;
Img2.Src = strPath;
hidImg2.Value = strPath;
}
protected string UpLoadPic(HtmlInputFile control)
{
if (string.IsNullOrEmpty(control.PostedFile.FileName))
return "";
//图片保存的文件夹路径
string path = Server.MapPath("/upload/Android/");
//每天上传的图片一个文件夹
string folder = DateTime.Now.ToString("yyyyMMdd");
//如果文件夹不存在,则创建
if (!Directory.Exists(path + folder))
{
Directory.CreateDirectory(path + folder);
}
//上传图片的扩展名
string type = control.PostedFile.FileName.Substring(control.PostedFile.FileName.LastIndexOf('.'));
//保存图片的文件名
string saveName = Guid.NewGuid().ToString() + type;
//保存图片
control.PostedFile.SaveAs(path + folder + "/" + saveName);
return "/upload/Android/" + folder + "/" + saveName;
}
protected void delPic1_Click(object sender, EventArgs e)
{
if (File.Exists(Server.MapPath(Img1.Src)))
{
FileInfo fi = new FileInfo(Server.MapPath(Img1.Src));
fi.Delete();
hidImg1.Value = "";
}
}
protected void delPic2_Click(object sender, EventArgs e)
{
if (File.Exists(Server.MapPath(Img2.Src)))
{
FileInfo fi = new FileInfo(Server.MapPath(Img2.Src));
fi.Delete();
hidImg2.Value = "";
}
}
}
}<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EventHandleTempView.aspx.cs" Inherits="HMFW.Web.Pages.AndroidAPP.EventHandleTempView" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
using HMFW.BLL.SQJS.ZJWG;
using HMFW.Model;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Drawing;
using System.Web.UI.WebControls;
namespace HMFW.Web.Pages.AndroidAPP
{
public partial class EventHandleTempView : System.Web.UI.Page
{
protected string SpicLength
{
get { return ViewState["spicLength"] == null ? string.Empty : ViewState["spicLength"].ToString(); }
set { ViewState["spicLength"] = value; }
}
EventBLL ibll = new EventBLL();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string imgid = Request.QueryString["imgid"];//图片id
int id = Convert.ToInt32(Request.QueryString["id"]);//默认第一张图片
int spicLength = Convert.ToInt32(Request.QueryString["spicLength"]);//指定图片流的长度 循环遍历显示指定图片(多次引用)
SpicLength = spicLength.ToString();
SQ_Event sqEventSearch = new SQ_Event();
sqEventSearch.gID = new Guid(imgid);
SQ_Event model = ibll.GetModel(sqEventSearch);
try
{
if (model != null && spicLength >= 2)
{
string base64Decode = model.sPicPath.Split(',')[id];
byte[] bt = Convert.FromBase64String(base64Decode);
System.IO.MemoryStream stream = new System.IO.MemoryStream(bt);
Bitmap bitmap = new Bitmap(stream);
bitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
}
}
catch (Exception ex)
{
throw ex;
}
Response.End();
}
}
}
}
标签:base64
原文地址:http://blog.csdn.net/hr1187362408/article/details/46427229