之前一直写过KindeEditor中的小控件作为单独上次,但业务要求需要另一种方式

现在改用ajaxfileupload.js试试,这个一百度

一.首页引用

<script src="~/Scripts/ajaxfileupload.js"></script>

原理:创建隐藏的表单和iframe然后用JS去提交,获得返回值。

注意:使用AjaxFileUpload插件上传文件可不需要form,如下:

<form name="form" action="" method="POST" enctype="multipart/form-data"> 
……相关html代码…… 
</form> 
因为AjaxFileUpload插件会自动生成一个form提交表单。

对于file文件域ID和name,ajaxFileUpload插件fileElementId参数需要获取文件域ID,如果处理上传文件操作就需要知道文件域name,以便获取上传文件信息,这两者关系一定要清楚。

使用

 var cz = parseInt($('#tj').val());
var json = {};
var sx = new Array();
json["bt"] = $('#bt').val();
json["lx"] = parseInt($('#lx').attr("data-id"));
json["bbid"] = parseInt($('#bbid').attr("data-id"));
json["pid"] = parseInt($('#pid').attr("data-id"));
json["gnbh"] = $('#gnbh').val();
json["cz"] = cz;
for (i = ; i < $(".template_details .color .clearfix").length; i++) {
var s = {};
s["sm"]=$(".template_details .color .clearfix").eq(i).find('span').eq().text();
s["sz"] = $(".template_details .color .clearfix").eq(i).find('span').eq().text();
s["css"] = $(".template_details .color .clearfix").eq(i).find('span').eq().text();
sx[i] = s;
}
json["sx"] = sx;
$.ajaxFileUpload({
type: "post", //请求类型:post或get,当要使用data提交自定义参数时一定要设置为post
url: "/Web/addmb", //文件上传的服务器端请求地址
secureuri: false, //是否启用安全提交,一般默认为false就行,不用特殊处理
fileElementId: "filePicture", //文件上传控件的id <input type="file" id="filePicture" name="filePicture" accept=".jpg,.jpeg,.png,.bmp" onchange="filePictureChange()" />
dataType: "JSON", //返回值类型,一般设置为json,还支持html\xml\script类型
data: { json: encodeURIComponent(JSON.stringify(json)) },//用于post请求提交自定义参数
success: function (data) { //服务器成功响应处理函数
var gg = $.parseJSON(data);
if (gg.yz) {
alert("添加成功");
$('.template_details').hide();
mbcx();
}
else
{
alert("添加失败");
}
}
});

二.后台

.net写法

                    HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files;
moban a = new moban();
string imgPath = "";
if (hfc[].FileName != "")
{
//===================图片保存
var filename = hfc[].FileName.Substring(hfc[].FileName.LastIndexOf(".") + );//取得后缀

var str = "gif|jpg|jpeg|png|GIF|JPG|PNG";
if (str.IndexOf(filename) > -1)
{
filename = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + filename;
imgPath = "../img/lunbotu/" + filename;
var del = Server.MapPath("../img/lunbotu/" + zt);
string PhysicalPath = Server.MapPath(imgPath);
hfc[0].SaveAs(PhysicalPath);
//======================图片保存
jdlbttp a = db.jdlbttp.FirstOrDefault(u => u.id == cxid);//查询到对应id
a.name = bt;
a.tp = filename;
db.Entry(a).State = System.Data.Entity.EntityState.Modified; //什么更新???
System.IO.File.Delete(del); //删除旧照片
db.SaveChanges();
array["yz"] = true;
}else
{
array["yz3"] = false;
}

                        }

图片上传插件用法,net语法【二】的更多相关文章

  1. 图片上传插件用法,JS语法【三】

    注意点: 作为文件域(<input type="file">)必须要有name属性,如果没有name属性,上传之后服务器是获取不到图片的.如:正确的写法是<inp ...

  2. KindeEditor图片上传插件用法

    因业务需要找了款插件 KindeEditor编辑器确认挺好用,但无奈技术有限,上传配置不知,故问度娘! 图片上传对于部分新手来说有时候是一件非常头疼的事,今天来分享一下项目中使用到的这个插件Kinde ...

  3. jquery uploadify文件上传插件用法精析

      jquery uploadify文件上传插件用法精析 CreationTime--2018年8月2日11点12分 Author:Marydon 一.参数说明 1.参数设置 $("#fil ...

  4. Jquery自定义图片上传插件

    1 概述 编写后台网站程序大多数用到文件上传,可是传统的文件上传控件不是外观不够优雅,就是性能不太好看,翻阅众多文件上传控件的文章,发现可以这样去定义一个文件上传控件,实现的文件上传的效果图如下: 2 ...

  5. Aps.net中基于bootstrapt图片上传插件的应用

    Aps.net中基于bootstrapt图片上传插件的应用 在最近的项目中需要使用一个图片上传的功能,而且是多张图片同时上传到服务器的文件夹中,将图片路径存放在数据库中.为了外观好看使用了bootst ...

  6. ssm项目中KindEditor的图片上传插件,浏览器兼容性问题

    解决办法: 原因:使用@ResponseBody注解返回java对象,在浏览器中是Content-Type:application/json;charset=UTF-8 我们需要返回字符串(Strin ...

  7. ueditor图片上传插件的使用

    在项目里使用到ueditor图片上传插件,以前图片上传都是直接使用js代码直接上传图片,比较麻烦,而且效率也比较低,而ueditor这款插件完美的解决了这个问题,这个是百度开发的一款富文本编辑器,在这 ...

  8. WebUploader文件图片上传插件的使用

    最近在项目中用到了百度的文件图片上传插件WebUploader.分享给大家 需要在http://fex.baidu.com/webuploader/download.html点击打开链接下载WebUp ...

  9. kindeditor 图片上传插件

    富文本编辑器,kindeditor是比较好用的一款.需要的功能都有,文档.demo也详细.有什么功能去官网看一眼就好. 官网:http://kindeditor.net/ 一些好用的如图片上传,kin ...

随机推荐

  1. UAC权限

    .NET中提升UAC权限的方法总结   [题外话] 从Vista开始,由于增加了UAC(用户账户控制,User Account Control)功能,使得管理员用户平时不再拥有能控制所有功能的管理员权 ...

  2. JAVA算法两道

    算法(JAVA)----两道小小课后题   LZ最近翻了翻JAVA版的数据结构与算法,无聊之下将书中的课后题一一给做了一遍,在此给出书中课后题的答案(非标准答案,是LZ的答案,猿友们可以贡献出自己更快 ...

  3. LatestResultsProvider

    LatestResultsProvider 前言 阅读本文前,需要读者对happens-before比较熟悉,了解非阻塞同步的一些基本概念.本文主要为happens-before法则的灵活运用,和一些 ...

  4. wpf中数据绑定(Datacontext)的应用

    在winform开发中,我们常用到ado.net进行数据绑定,在编程技术日新月异的今天,这种繁杂的数据绑定方式已不能再适合开发人员,于是微软推出了wpf,更炫的界面美化,更简洁地编写控件,在wpf中使 ...

  5. 如何对软件开发工具 WebBuilder 进行安装?

    WebBuilder是一款开源的可视化Web应用开发和运行平台.基于浏览器的集成开发环境,采用可视化的设计模式,支持控件的拖拽操作,能轻松完成前后台应用开发:高效.稳定和可扩展的特点,适合复杂企业级应 ...

  6. 三种不同实现初始化和销毁bean之前进行的操作的比较

    Spring容器中的bean是有生命周期的,Spring 允许在 Bean 在初始化完成后以及 Bean 销毁前执行特定的操作,常用的设定方式有以下三种: 通过实现 InitializingBean/ ...

  7. How to deploy openbr on linux server very shorly---- linuxmint13/ubuntu12.04 AMD64/debian7

    SO FAST ON A SERVER!!!! There are serveral packages that you have to install: 1. openbr 0.6.0 packag ...

  8. Python Tutorial - Parse JSON Objects with Python

    This tutorial is copied from youtube.com Here is the link: http://www.youtube.com/watch?v=RXqo3lC-JP ...

  9. C#新功能--命名参数与可选参数

    C#新功能--命名参数与可选参数 可能是篇幅太短了,又被打入冷宫了.先重发一篇加上可选参数.本来不想加这个呢,因为可选参数可能大家用的会多点.其实这 两个在VB中早就有了,在C#中,只有在.net4以 ...

  10. Android中ListView下拉刷新的实现

    ListView中的下拉刷新是非常常见的,也是经常使用的,看到有很多同学想要,那我就整理一下,供大家参考.那我就不解释,直接上代码了. 这里需要自己重写一下ListView,重写代码如下: packa ...