//后台代码
[HttpPost]
public ActionResult CreateCategory(HttpPostedFileBase file)
{
string url = Upload(file);
if(url== "empty")
{
return Json("{state:fault}");
}
factory.Endpoint.Behaviors.Add(new WebHttpBehavior());
var proxy = factory.CreateChannel();
//用户组请求类
ServicePostRequest<Guoany_Ga_B2BGCategory_InsertOrUpdate_Request> request = new ServicePostRequest<Guoany_Ga_B2BGCategory_InsertOrUpdate_Request>();
request.ExtraData = new Guoany_Ga_B2BGCategory_InsertOrUpdate_Request();
request.ExtraData.Parent_Id = "";
request.ExtraData.Creater = "";
request.ExtraData.Creattime = DateTime.Now;
request.ExtraData.Des = "";
request.ExtraData.Category_Id = Guid.NewGuid().ToString();
request.ExtraData.Category_Name = "";
request.ExtraData.Category_Url = url;
request.ExtraData.Is_del = false;
request.ExtraData.Is_show = true;
request.ExtraData.Is_Special = false;
request.ExtraData.Sort_No = 1;
ServicePostResponse<Guoany_Ga_B2BGCategory_InsertOrUpdate_Response> response = proxy.InsertOrUpdateB2B_G_Category(request);
// ViewData["Group_Response"] = response.Data;
bool result = response.Success; return Json("{state:success}");
}
public string Upload(HttpPostedFileBase file)
{
if (file == null)
{
return "empty";
}
var fileName = Path.Combine(Request.MapPath("~/Upload"), Path.GetFileName(file.FileName)); if (Directory.Exists(Server.MapPath("~/Upload")) == false)//如果不存在就创建file文件夹
{
Directory.CreateDirectory(Server.MapPath("~/Upload"));
}
file.SaveAs(fileName);
return "upload/"+Path.GetFileName(file.FileName);
}
//-----------------------------------------------------------------------------------------
//前台代码 @{
ViewBag.Title = "类别列表";
} <script type="text/javascript">
$(function () {
var pager = $('#dg').datagrid().datagrid('getPager'); // get the pager of datagrid
pager.pagination({
buttons: [{
iconCls: 'icon-search',
handler: function () {
$('#dg').datagrid("reload");
}
}, {
iconCls: 'icon-add',
handler: function () {
alert('add');
}
}, {
iconCls: 'icon-edit',
handler: function () {
alert('edit');
},
iconCls: 'icon-remove',
handler: function () {
alert('删除');
}
}]
}); })
function searchCategory() {
var stopOrenable = $('#stopOrenable').combobox('getValue');
var txtCategoryName = $("#txtCategoryName").val();
var showOrNot = $("#showOrNot").is(":checked") == true ? 1 : 0;
var specilCategory = $("#specilCategory").is(":checked") == true ? 1 : 0; $('#dg').datagrid('load', {
queryParams: {
stopOrenable: stopOrenable,
txtCategoryName: txtCategoryName,
showOrNot: showOrNot,
specilCategory: specilCategory } });
//var randnum = Math.floor(Math.random() * 1000000);
//alert(randnum)
//var urls = '/Category_Manage/GetCategoryJsonList?randnum=' + randnum; }
function addCategory() {
$('#dd').dialog('open'); } function editCategory() { } function showCategory() { } function hidenCategory() { } function enabledCategory() { } function stopCategory() { }
</script> <script type="text/javascript">
function PreviewImage(imgFile) {
var filextension = imgFile.value.substring(imgFile.value.lastIndexOf("."), imgFile.value.length);
filextension = filextension.toLowerCase();
if ((filextension != '.jpg') && (filextension != '.gif') && (filextension != '.jpeg') && (filextension != '.png') && (filextension != '.bmp')) {
alert("对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !");
imgFile.focus();
}
else {
var path;
if (document.all)//IE
{
imgFile.select();
path = document.selection.createRange().text; document.getElementById("imgPreview").innerHTML = "";
document.getElementById("imgPreview").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\"" + path + "\")";//使用滤镜效果
}
else//FF
{
path = window.URL.createObjectURL(imgFile.files[0]);
var i = 0;
i++;
$("#imgPreview").append("<img id='img" + i + "' width='120px' height='100px' src='" + path + "'/>"); }
}
}
function submitContent()
{
var formData = new FormData();
var file = document.getElementById("upload").files[0];
formData.append("file", file);
$.ajax({
type: "POST",
url: '@Url.Action("CreateCategory", "Category_Manage")',
data: formData,
dataType: 'json',
contentType: false,
processData: false,
success: function (response) {
alert("sucess");
},
error: function (error) {
alert("fault");
}
});
} </script>
<table id="dg" class="easyui-datagrid" title="商品类别列表" style="width:100%;height:250px"
data-options="rownumbers:true,singleSelect:true,url:'/Category_Manage/GetCategoryJsonList',method:'get',toolbar:'#tb',footer:'#ft',pagination:true">
<thead>
<tr>
<th data-options="field:'ParentCategoryName',width:80">上级类目</th>
<th data-options="field:'Category_Name',width:100">类目名称</th>
<th data-options="field:'Is_Del',width:80,align:'right'">启用状态</th>
<th data-options="field:'Des',width:80,align:'right'">描述</th>
<th data-options="field:'Is_Special',width:240">是否特殊项目</th>
<th data-options="field:'Is_show',width:60,align:'center'">展示状态</th>
<th data-options="field:'Sort_No',width:60,align:'center'">排序</th> </tr>
</thead>
</table>
<div id="tb" style="padding:2px 5px;">
<div>
<input type="button" value="新增" onclick="addCategory()" />
<input type="button" value="编辑" onclick="editCategory()" />
<input type="button" value="展示" onclick="showCategory()" />
<input type="button" value="隐藏" onclick="hidenCategory()" />
<input type="button" value="启用" onclick="enabledCategory()" />
<input type="button" value="停用" onclick="stopCategory()" />
</div>
类目名称 <input id="txtCategoryName" style="width:110px">
是否停用
<select id="stopOrenable" class="easyui-combobox" panelHeight="auto" style="width:100px">
<option value="1">是</option>
<option value="0">否</option>
</select>
<input type="checkbox" id="specilCategory" /> 特殊类目 <input type="checkbox" id="showOrNot" /> 是否展示
<a href="#" id="search" class="easyui-linkbutton" onclick="searchCategory()" iconCls="icon-search">搜索</a>
</div>
<div id="dd" class="easyui-dialog" title="新增/编辑"
data-options="iconCls:'icon-save',closed:true,modal: true,cache: false" style="width:800px;height:600px;padding:10px">
@using (Html.BeginForm("CreateCategory", "Category_Manage", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<table style="border:1px solid ;width:700px;height:500px;">
<tr>
<td>父类目:<input type="text" /></td>
<td colspan="2">
图片上传:<input type="file" name="file" style="width: 200px; height: 20px;" onchange="PreviewImage(this)" id="upload" />
<div id="imgPreview" style="width:120px; height:100px;margin-left: 280px;"></div> </td> </tr>
<tr><td>类目:<input type="text" /></tr>
<tr><td>是否特殊类目:<input type="checkbox" /></td><td>是否显示:<input type="checkbox" /></td></tr>
<tr><td rowspan="1">类描述<textarea rows="2"></textarea></td></tr>
<tr><td rowspan="1"><input onclick="submitContent()" value="提交" /></td></tr>
</table> }
</div>

  

asp.net mvc ajax FileUpload的更多相关文章

  1. ASP.NET MVC Ajax.ActionLink 简单用法

    ASP.NET MVC 项目中,如何使用类似于 iframe 的效果呢?或者说 Ajax 局部刷新,比如下面操作: 我们想要的效果是,点击 About 链接,页面不刷新(地址栏不变),然后下面的内容进 ...

  2. Asp.Net MVC ajax调用 .net 类库问题

    如果你还在为 ajax 调用 .net 类库还束手无策的话,相信这篇博客将帮助你解决这个世纪问题! 因为Visual Studio 内置了asp.net mvc ,不过当你添加asp.net mvc项 ...

  3. Asp.Net MVC Ajax

    将ASP.NET MVC中的form提交改为ajax提交 在ASP.NET MVC视图中通过 @using (Html.BeginForm()) 产生的是form表单提交代码,可以用javascrip ...

  4. ASP.NET MVC Ajax 伪造请求

    1.前言 CSRF(Cross-site request forgery)跨站请求伪造,ASP.NET MVC 应用通过使用AJAX请求来提升用户体验,浏览器开发者工具可以一览众山小,就很容易伪造了请 ...

  5. ASP.NET MVC ajax处理 AjaxResult

    1.统一ASPNET MVC 对ajax请求响应格式定义,方便前端统一处理ajax结果. 1)定义程序返回结果数据格式 /// <summary> /// 执行结果 /// </su ...

  6. ASP.NET MVC AJAX 请求中加入 antiforgerytoken 解决“所需的防伪表单字段“__RequestVerificationToken”不存在”问题

    在ASP.NET mvc中如果在表中使用了@Html.AntiForgeryToken(),ajax post不会请求成功 解决方法是在ajax中加入__RequestVerificationToke ...

  7. ASP.NET MVC AJAX的调用示例

    @{ ViewBag.Title = "Home Page"; //下面引用Jquery和unobtrusive-ajax } @Scripts.Render("~/bu ...

  8. asp.net mvc ajax 异步刷新例子

    这几天在asp.net中使用ajax来做异步刷新,这里整理一下 1.首先看前台页面点击的时候调用函数 function shuxin() { $.ajax( { url: "GetValue ...

  9. asp.net MVC  Ajax.BeginForm 异步上传图片的问题

    当debug到这里,你们就发现不管是 Request.Files["Upload"]亦或 Request.Files[0] 都不会取到文件流. 这就是我要说的,当使用Ajax.Be ...

随机推荐

  1. cocos2dx3.0的CCCallFunc、CCCallFuncN

    来源: http://blog.csdn.net/crayondeng/article/details/18767407 二.在cocos2d-x中,还有一个地方是需要大量使用到回调函数的,这就是回调 ...

  2. JAVA与数据库MySQL相连接

    JDBC(Java数据库连接体系结构): 是Java实现数据库访问的应用程序编程接口,主要功能是管理存放在数据库中的数据.通过接口对象,应用程序可以完成与数据库的连接,执行SQL语句,从数据库中获取结 ...

  3. BOM以及定时器

    一.BOM 1.操作浏览器的一些方法 (浏览器对象模型) 2.window是is中的顶级变量,是一个全局的变量,所有人都可以访问到它,基本 的方法和属性 (document,alert,console ...

  4. NOIP2016滚粗记

    想了好久还是决定要写... Day0 Day-5得感冒一直没好,连磕5天药丸. 早晨得知爸妈都要上班并不能送我到校的消息,于是计划10:30集合,定表8:45准备自己走去学校. 然后平常睡得有点晚,结 ...

  5. VPS服务商

    1.vpsee http://www.vpsee.com 2.vps侦探 http://www.vpser.net/

  6. Linux之:Ubuntu速学笔记(1)

    撰写日期:2016-7-2 17:11:28 Saturday 课程资源:  web程序员角度ubuntu自修速学课程 链接来源:程序员在囧途, VMware: VMware Workstation1 ...

  7. oracle---包--laobai

    包(package) 作用:逻辑对象的一种.对相关存储过程.函数.变量的封装. a 封装,便于调用 b 统一授权 系统内置包:dbms_output.用于输出. standard:常用的函数.异常的定 ...

  8. Android Automotive开发之一《编译自己的SDK 》 // TOBEDONE

    自己动手编译最新Android源码及SDK : http://blog.csdn.net/dd864140130/article/details/51718187官方文档,怎样编译sdk : http ...

  9. 我的Debian KDE常用软件记录

    1.看图 digiKam 2.音乐 Amarok

  10. Windows快捷键

    一.常见用法: F1 显示当前程序或者windows的帮助内容. F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT 激活当前程序 ...