基于asp.net+ easyui框架,js提交图片,实现先上传图片再提交表单
上篇博客,我们简单的介绍了js实现上传图片之前判断图片格式,同时实现预览。这篇博客,给大家介绍如何上传图片,上传成功之后,再提交表单。下面我们进入正题:
像前面的博客一样,先给大家看一下界面,这样更简单,便于理解。
界面:
HTML的代码:
<form id="ff" runat="server" method="post"> <div id="content" style="margin-left:50px;"> <table style="width:300px;" id="uniform"> <tr> <td>书画名称:<input id="paintingName" class="easyui-validatebox" validType:‘paintingName‘ type="text" name="paintingName" data-options="required:true"/></td> </tr> <tr> <td>书画类别:<input id="radPaint" value="国画" class="easyui-validatebox" name="type" type="radio" checked="checked" data-options="required:true" />国画 <input id="rad" name="type" class="easyui-validatebox" type="radio" data-options="required:true" />书法</td> </tr> <tr> <td>书画作者:<asp:DropDownList ID="ddlist" runat="server" Width="155px"></asp:DropDownList> </td> </tr> <tr> <td>书画价格:<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> 预 览: <div id="localImag" style="width: 300px; height: 200px;"> <img id="preview" alt="预览图片" 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> <%--显示大图标的区域--%> <div id="divImage" style="display: none;left:365px;top:40px;position: absolute"> <img id="imgbig" onclick="out();" src="" alt="大图" /> </div> </div> </form>
JS代码:
//保存信息 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 ? "书法" : "国画"; 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(‘提示‘, ‘保存失败,请您核对!‘, ‘info‘); } } }); } }); } //上传图片 function upLoadFile() { var idFile = document.getElementById("idFile").value; //判断是否选择图片 if (idFile == null || idFile == "") { $.messager.alert(‘提示‘,‘请添加图片!‘); 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 = ""; }
后台一般处理程序的代码:
上传图片的一般处理程序:
/// <summary>
/// Files 的摘要说明
/// </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;
//获取图片的名称
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;
}
}
}
提交表单的一般处理程序:
/// <summary> /// Painting 的摘要说明 /// </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();//前台传的标示值 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:
<%--基础样式--%> <link href="../../themes/default/easyui.css" rel="stylesheet" /> <%--图标样式--%> <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> <%--上传图片时js--%> <script src="js/jquery.form.js"></script>
上传图片时,需要jquery.form.js的js文件,下载地址:http://download.csdn.net/detail/jiuqiyuliang/6919517
上传图片,并提交表单就是这么简单,一些js代码+一般处理程序,相信你一看就会。后面的博客我会更新一些关于easyui-datagrid的相关博客,敬请期待。
明天是元宵节,也是情人节,祝大家元宵节团团圆圆,情人节,快乐。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。