基于ASP.NET+EasyUI框架實(shí)現(xiàn)圖片上傳提交表單功能(js提交圖片)
來(lái)源:易賢網(wǎng) 閱讀:1391 次 日期:2016-08-05 16:14:31
溫馨提示:易賢網(wǎng)小編為您整理了“基于ASP.NET+EasyUI框架實(shí)現(xiàn)圖片上傳提交表單功能(js提交圖片)”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了基于ASP.NET+EasyUI框架實(shí)現(xiàn)圖片上傳再提交表單(js提交圖片)的相關(guān)資料,需要的朋友可以參考下

我的風(fēng)格,先給大家展示下效果圖,具體效果圖如下所示,如果大家感覺(jué)還不錯(cuò)很滿(mǎn)意請(qǐng)參考實(shí)現(xiàn)代碼。

名單

HTML的代碼:

<form id="ff" runat="server" method="post"> 

<div id="content" style="margin-left:50px;"> 

<table style="width:300px;" id="uniform"> 

<tr> 

<td>書(shū)畫(huà)名稱(chēng):<input id="paintingName" class="easyui-validatebox" validType:'paintingName' type="text" name="paintingName" data-options="required:true"/></td> 

</tr> 

<tr> 

<td>書(shū)畫(huà)類(lèi)別:<input id="radPaint" value="國(guó)畫(huà)" class="easyui-validatebox" name="type" type="radio" checked="checked" data-options="required:true" />國(guó)畫(huà) 

<input id="rad" name="type" class="easyui-validatebox" type="radio" data-options="required:true" />書(shū)法</td> 

</tr> 

<tr> 

<td>書(shū)畫(huà)作者:<asp:DropDownList ID="ddlist" runat="server" Width="155px"></asp:DropDownList> 

</td> 

</tr> 

<tr> 

<td>書(shū)畫(huà)價(jià)格:<input id="price" class="easyui-numberbox" type="text" name="price" data-options="required:true"/>元</td> 

</tr> 

<tr> 

<td>高  度:<input id="height" class="easyui-numberbox" type="text" name="height" data-options="required:true"/>cm</td> 

</tr> 

<tr> 

<td> 

寬  度:<input id="width" class="easyui-numberbox" type="text" name="width" data-options="required:true"/>cm 

</td> 

</tr> 

<tr> 

<td> 

選擇圖片:<asp:FileUpload ID="idFile" Width="150px" runat="server" onchange="javascript:setImagePreview(this,localImag,preview);"> 

</td> 

</tr> 

<tr> 

<td> 

預(yù)  覽: 

<div id="localImag" style="width: 300px; height: 200px;"> 

<img id="preview" alt="預(yù)覽圖片" onclick="over(preview,divImage,imgbig);" src="../../Paint/img/default.jpg" width="300" height="200"/> 

</div> 

</td> 

</tr> 

</table> 

<input type="hidden" id="test" name="test" /> 

<div style="width:300px; text-align:center;"> 

<a href="javascript:void(0)" class="easyui-linkbutton" onclick="submitForm()">確定</a> 

<a href="javascript:void(0)" class="easyui-linkbutton" onclick="clearForm()">取消</a> 

</div> 

<%--顯示大圖標(biāo)的區(qū)域--%> 

<div id="divImage" style="display: none;left:365px;top:40px;position: absolute"> 

<img id="imgbig" onclick="out();" src="" alt="大圖" /> 

</div> 

</div> 

</form>

JS代碼:

//顯示圖片 

function over(imgid, obj, imgbig) { 

//大圖顯示的最大尺寸 4比3的大小 400 300 

maxwidth = 400; 

maxheight = 300; 

//顯示 

obj.style.display = ""; 

imgbig.src = imgid.src; 

//1、寬和高都超過(guò)了,看誰(shuí)超過(guò)的多,誰(shuí)超的多就將誰(shuí)設(shè)置為最大值,其余策略按照2、3 

//2、如果寬超過(guò)了并且高沒(méi)有超,設(shè)置寬為最大值 

//3、如果寬沒(méi)超過(guò)并且高超過(guò)了,設(shè)置高為最大值 

if (img.width > maxwidth && img.height > maxheight) { 

pare = (img.width - maxwidth) - (img.height - maxheight); 

if (pare >= 0) 

img.width = maxwidth; 

else

img.height = maxheight; 

else if (img.width > maxwidth && img.height <= maxheight) { 

img.width = maxwidth; 

else if (img.width <= maxwidth && img.height > maxheight) { 

img.height = maxheight; 

//隱藏圖片 

function out() { 

document.getElementById('divImage').style.display = "none"; 

//保存信息 

function submitForm() { 

$.messager.confirm('提示', '你確定要添加此記錄嗎?', function (r) { 

if (r) { 

//先上傳圖片后,再提交 

upLoadFile(); 

var test = document.getElementById("test").value = "add"; 

var paintingName = document.getElementById("paintingName").value; 

var artistID = document.getElementById("ddlist").value; 

var type = $(":checkbox[name='type']").attr("checked") == true ? "書(shū)法" : "國(guó)畫(huà)"; 

var price = document.getElementById("price").value; 

var height = document.getElementById("height").value; 

var width = document.getElementById("width").value; 

var idFile = document.getElementById("idFile").value; 

//先判斷是否上傳圖片之后在提交 

$('#ff').form('submit', { 

url: "Painting.ashx?paintingName=" + paintingName + "&artistID=" + artistID + 

"&type=" + type + "&price=" + price + "&height=" + height + "&width=" + width + 

"&idFile=" + idFile + "&addID=" + addID + "&test=" + test, 

dataType: "json", 

onSubmit: function () { 

return $(this).form('validate'); 

}, 

success: function (result) { 

if (result == "T") { 

//清空文本框 

document.getElementById("paintingName").value = ""; 

document.getElementById("price").value = ""; 

document.getElementById("height").value = ""; 

document.getElementById("width").value = ""; 

document.getElementById("idFile").value = ""; 

document.getElementById("preview").value = ""; 

$.messager.alert('提示', '恭喜您,信息添加成功!', 'info'); 

else { 

$.messager.alert('提示', '保存失敗,請(qǐng)您核對(duì)!', 'info'); 

}); 

}); 

//上傳圖片 

function upLoadFile() { 

var idFile = document.getElementById("idFile").value; 

//判斷是否選擇圖片 

if (idFile == null || idFile == "") { 

$.messager.alert('提示','請(qǐng)?zhí)砑訄D片!'); 

document.getElementById("idFile").focus(); 

document.getElementById("idFile").select(); 

return; 

var options = { 

type: "POST", 

url: 'Files.ashx', 

//success: showResponse 

}; 

// 將options傳給ajaxForm 

$('#ff').ajaxSubmit(options); 

//function showResponse() { 

// alert("上傳成功!"); 

//} 

function clearForm(){ 

//清空文本框 

document.getElementById("paintingName").value = ""; 

document.getElementById("price").value = ""; 

document.getElementById("height").value = ""; 

document.getElementById("width").value = ""; 

document.getElementById("idFile").value = ""; 

}

后臺(tái)一般處理程序的代碼:

上傳圖片的一般處理程序:

<span style="font-size:14px;"> /// <summary> 

/// Files 的摘要說(shuō)明 

/// </summary> 

public class Files : IHttpHandler 

public void ProcessRequest(HttpContext context) 

context.Response.ContentType = "text/plain"; 

//圖片名 

HttpFileCollection files = context.Request.Files; 

if (files.Count > 0) 

for (int i = 0; i < files.Count; i++) 

HttpPostedFile file = files[i]; 

if (file.ContentLength > 0) 

//全路徑 

string FullFullName = file.FileName; 

//獲取圖片的名稱(chēng) 

String fileName = FullFullName.Substring(FullFullName.LastIndexOf("\\") + 1); 

//保存路徑D:\GoodCommunitySystem2.0 - 副本\GoodCommunitySystem\Paint\img\ 

string path = "~/Paint/img"; 

file.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path) + "\\" + fileName); 

public bool IsReusable 

get 

return false; 

}</span>

提交表單的一般處理程序:

/// <summary> 

/// Painting 的摘要說(shuō)明 

/// </summary> 

public class Painting : IHttpHandler 

paintingBLL paintingbll = new paintingBLL(); 

Entity.paintingEntity paintingEntity = new Entity.paintingEntity(); 

public void ProcessRequest(HttpContext context) 

context.Response.ContentType = "text/plain"; 

string command = context.Request["test"].ToString();//前臺(tái)傳的標(biāo)示值 

if (command == "add") 

Add(context); 

/// <summary> 

/// 添加記錄 

/// </summary> 

/// <param name="context"></param> 

public void Add(HttpContext context) 

paintingEntity.PaintingName = context.Request.QueryString["paintingName"]; 

paintingEntity.PaintingStyle = context.Request.QueryString["type"]; 

paintingEntity.PaintingURL = context.Request.QueryString["idFile"]; 

paintingEntity.Price = Convert.ToInt32(context.Request["price"]); 

paintingEntity.AddID = Convert.ToInt32(context.Request["addID"]); 

paintingEntity.ArtistID = Convert.ToInt32(context.Request["artistID"]); 

paintingEntity.Height = Convert.ToInt32(context.Request.QueryString["height"]); 

paintingEntity.Width = Convert.ToInt32(context.Request.QueryString["width"]); 

try

if (paintingbll.Add(paintingEntity)) 

context.Response.Write("T"); 

else

context.Response.Write("F"); 

catch (Exception ex) 

throw ex; 

public bool IsReusable 

get 

return false; 

}

需要引入的js:

<%--基礎(chǔ)樣式--%> 

<link href="../../themes/default/easyui.css" rel="stylesheet" /> 

<%--圖標(biāo)樣式--%> 

<link href="../../themes/icon.css" rel="stylesheet" /> 

<%--easyui-js--js的文件有先有后min.js必須在前,easyui.min.js必須在后--%> 

<script src="../jquery.min.js"></script> 

<%--easyui 的js--%> 

<script charset="utf-8" src="../jquery.easyui.min.js"></script> 

<%--中文js--%> 

<script src="../locale/easyui-lang-zh_CN.js"></script> 

<%--上傳圖片時(shí)js--%> 

<script src="js/jquery.form.js"></script>

上傳圖片時(shí),需要jquery.form.js的js文件,下載地址:http://download.csdn.net/detail/jiuqiyuliang/6919517

上傳圖片,并提交表單就是這么簡(jiǎn)單,一些js代碼+一般處理程序,相信你一看就會(huì)。后面的博客我會(huì)更新一些關(guān)于easyui-datagrid的相關(guān)博客,敬請(qǐng)期待。

最近有網(wǎng)友,總覺(jué)得看的還不是太明白,能不能將paintingBLL和paintingEntity代碼貼一下-----新人求罩,我個(gè)人覺(jué)得實(shí)體層就沒(méi)有必要了,下面我就將paintingBLL的源碼粘一下,僅供大家參考。

using System; 

using System.Data; 

using System.Collections.Generic; 

using Common; 

using Entity; 

using DALFactory; 

using IDAL; 

namespace BLL 

/// <summary> 

/// paintingBLL 

/// </summary> 

public partial class paintingBLL 

private readonly IpaintingDAL dal=DataAccess.CreatepaintingDAL(); 

public paintingBLL() 

{}

#region BasicMethod 

/// <summary> 

/// 得到最大ID 

/// </summary> 

public int GetMaxId() 

return dal.GetMaxId(); 

/// <summary> 

/// 是否存在該記錄 

/// </summary> 

public bool Exists(int PaintingID) 

return dal.Exists(PaintingID); 

/// <summary> 

/// 增加一條數(shù)據(jù) 

/// </summary> 

public bool Add(Entity.paintingEntity Entity) 

return dal.Add(Entity); 

/// <summary> 

/// 更新一條數(shù)據(jù) 

/// </summary> 

public bool Update(Entity.paintingEntity Entity) 

return dal.Update(Entity); 

/// <summary> 

/// 刪除一條數(shù)據(jù) 

/// </summary> 

public bool Delete(int PaintingID) 

return dal.Delete(PaintingID); 

/// <summary> 

/// 刪除一條數(shù)據(jù) 

/// </summary> 

public bool DeleteList(string PaintingIDlist ) 

return dal.DeleteList(PaintingIDlist ); 

/// <summary> 

/// 得到一個(gè)對(duì)象實(shí)體 

/// </summary> 

public Entity.paintingEntity GetEntity(int PaintingID) 

return dal.GetEntity(PaintingID); 

/// <summary> 

/// 得到一個(gè)對(duì)象實(shí)體,從緩存中 

/// </summary> 

public Entity.paintingEntity GetEntityByCache(int PaintingID) 

string CacheKey = "paintingEntityEntity-" + PaintingID; 

object objEntity = Common.DataCache.GetCache(CacheKey); 

if (objEntity == null) 

try

objEntity = dal.GetEntity(PaintingID); 

if (objEntity != null) 

int EntityCache = Common.ConfigHelper.GetConfigInt("EntityCache"); 

Common.DataCache.SetCache(CacheKey, objEntity, DateTime.Now.AddMinutes(EntityCache), TimeSpan.Zero); 

catch{} 

return (Entity.paintingEntity)objEntity; 

/// <summary> 

/// 獲得數(shù)據(jù)列表 

/// </summary> 

public DataSet GetList(string strWhere) 

return dal.GetList(strWhere); 

/// <summary> 

/// 獲得數(shù)據(jù)列表 

/// </summary> 

public DataSet GetPaintingList(string strWhere) 

return dal.GetPaintingList(strWhere); 

/// <summary> 

/// 獲得前幾行數(shù)據(jù) 

/// </summary> 

public DataSet GetList(int Top,string strWhere,string filedOrder) 

return dal.GetList(Top,strWhere,filedOrder); 

/// <summary> 

/// 獲得數(shù)據(jù)列表 

/// </summary> 

public List<Entity.paintingEntity> GetEntityList(string strWhere) 

DataSet ds = dal.GetList(strWhere); 

return DataTableToList(ds.Tables[0]); 

/// <summary> 

/// 獲得數(shù)據(jù)列表 

/// </summary> 

public List<Entity.paintingEntity> DataTableToList(DataTable dt) 

List<Entity.paintingEntity> EntityList = new List<Entity.paintingEntity>(); 

int rowsCount = dt.Rows.Count; 

if (rowsCount > 0) 

Entity.paintingEntity Entity; 

for (int n = 0; n < rowsCount; n++) 

Entity = dal.DataRowToEntity(dt.Rows[n]); 

if (Entity != null) 

EntityList.Add(Entity); 

return EntityList; 

/// <summary> 

/// 獲得數(shù)據(jù)列表 

/// </summary> 

public DataSet GetAllList() 

return GetList(""); 

/// <summary> 

/// 分頁(yè)獲取數(shù)據(jù)列表 

/// </summary> 

public int GetRecordCount(string strWhere) 

return dal.GetRecordCount(strWhere); 

/// <summary> 

/// 分頁(yè)獲取數(shù)據(jù)列表 

/// </summary> 

public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex) 

return dal.GetListByPage( strWhere, orderby, startIndex, endIndex); 

/// <summary> 

/// 分頁(yè)獲取數(shù)據(jù)列表 

/// </summary> 

//public DataSet GetList(int PageSize,int PageIndex,string strWhere) 

//{ 

//return dal.GetList(PageSize,PageIndex,strWhere); 

//} 

#endregion BasicMethod 

#region ExtensionMethod 

#endregion ExtensionMethod 

}

以上所述是小編給大家介紹的基于ASP.NET+EasyUI框架實(shí)現(xiàn)圖片上傳提交表單功能(js提交圖片),希望對(duì)大家有所幫助

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話(huà):0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)