之前一直写过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语法【二】的更多相关文章
-
图片上传插件用法,JS语法【三】
注意点: 作为文件域(<input type="file">)必须要有name属性,如果没有name属性,上传之后服务器是获取不到图片的.如:正确的写法是<inp ...
-
KindeEditor图片上传插件用法
因业务需要找了款插件 KindeEditor编辑器确认挺好用,但无奈技术有限,上传配置不知,故问度娘! 图片上传对于部分新手来说有时候是一件非常头疼的事,今天来分享一下项目中使用到的这个插件Kinde ...
-
jquery uploadify文件上传插件用法精析
jquery uploadify文件上传插件用法精析 CreationTime--2018年8月2日11点12分 Author:Marydon 一.参数说明 1.参数设置 $("#fil ...
-
Jquery自定义图片上传插件
1 概述 编写后台网站程序大多数用到文件上传,可是传统的文件上传控件不是外观不够优雅,就是性能不太好看,翻阅众多文件上传控件的文章,发现可以这样去定义一个文件上传控件,实现的文件上传的效果图如下: 2 ...
-
Aps.net中基于bootstrapt图片上传插件的应用
Aps.net中基于bootstrapt图片上传插件的应用 在最近的项目中需要使用一个图片上传的功能,而且是多张图片同时上传到服务器的文件夹中,将图片路径存放在数据库中.为了外观好看使用了bootst ...
-
ssm项目中KindEditor的图片上传插件,浏览器兼容性问题
解决办法: 原因:使用@ResponseBody注解返回java对象,在浏览器中是Content-Type:application/json;charset=UTF-8 我们需要返回字符串(Strin ...
-
ueditor图片上传插件的使用
在项目里使用到ueditor图片上传插件,以前图片上传都是直接使用js代码直接上传图片,比较麻烦,而且效率也比较低,而ueditor这款插件完美的解决了这个问题,这个是百度开发的一款富文本编辑器,在这 ...
-
WebUploader文件图片上传插件的使用
最近在项目中用到了百度的文件图片上传插件WebUploader.分享给大家 需要在http://fex.baidu.com/webuploader/download.html点击打开链接下载WebUp ...
-
kindeditor 图片上传插件
富文本编辑器,kindeditor是比较好用的一款.需要的功能都有,文档.demo也详细.有什么功能去官网看一眼就好. 官网:http://kindeditor.net/ 一些好用的如图片上传,kin ...
随机推荐
-
MySQL中导入 导出CSV
来自:http://blog.csdn.net/sara_yhl/article/details/6850107 导出 select * from test_info into outfile '/t ...
-
Spring学习2—Spring容器
一.Spring容器接口关系 容器是Spring框架的核心,Spring容器就是一个巨大的工厂.Spring容器使用Ioc(控制反转(Inversion of Control )管理所有组成应用系统的 ...
-
Oracle 10g实现存储过程异步调用
DBMS_JOB是什么?DBMS_JOB是Oracle数据库提供的专家程序包的一个.主要用来在后台运行程序,是数据库中一个极好的工具. 可用于自动调整调度例程任务,例如分析数据表,执行一些归档操作,清 ...
-
Oracle Database Concepts:介绍模式对象(Introduction to Schema Objects)
数据库模式(schema)是数据结构的逻辑容器,被称作模式对象(schema objects) 每一个数据库用户拥有一个和用户名相同的模式,例如hr用户拥有hr模式. 在一个产品数据库中,模式的拥有者 ...
-
HDU-1255 覆盖的面积 覆盖的矩形面积并
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 需要保存区间覆盖线>=2的线段的长度,根据情况来更新... //STATUS:C++_AC ...
-
Delphi 生成excel中的饼图
生成excel中的饼图 var i,j,m,n,count1:integer; str:string; Jdate:tdatetime; channellist,potBstrtime,potEstr ...
-
for添加用户
#!/bin/bash #接受一个参数: #add: 添加用户user1..user10 #del: 删除用户user1..user10 #其它:退出 #定义变量 ADD=add DEL=del #判 ...
-
ORACLE存储过程笔记1
ORACLE存储过程笔记1 一.基本语法(以及与informix的比较) create [or replace] procedure procedure_name (varible {IN|OUT ...
-
JBehave
JBehave 上篇我们说到如何从Github上clone出一个JBehave项目,既是为了学习JBehava,也是为了熟悉下Github.从clone下来的项目看来,基本没什么问题,稍微捋一捋就可以 ...
-
python+selenium三:鼠标事件与键盘事件
1.鼠标事件:# 每个模拟事件后需加.perform() 才会执行# context_click() 右击# double_click() 双击# drag_and_drop(source, targ ...