dialog\dialog_attach.aspx

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,initial-scale=1.0,user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<title>上传附件</title>
<link href="../skin/default/style.css" rel="stylesheet" type="text/css" />
<script src="../../scripts/jquery/jquery-1.11.2.min.js" type="text/javascript"></script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.ajaxfileupload.js"></script> <script type="text/javascript">
$(function () {
//fup_pic2 上传控件ID
$('#txtfiles').change(function () {
upload_pro(); });
}); function upload_pro() {
$("#uploadimg").html("<img src='../images/ajax-loading.gif'> 附件上传中...")
$.ajaxFileUpload(
{ url: '../../tools/upload_ajax.ashx?action=AttachFile&random=' + Math.random(),
secureuri: false,
fileElementId: 'txtfiles',
dataType: 'json',
success: function (data, file) {
if (data.status == 1) {
$(".upload-name").val(data.name);
$(".upload-path").val(data.path);
$(".upload-size").val(data.size);
$("#uploadimg").text("上传成功");
}
else {
parent.dialog({
title: '错误',
content: data.msg,
okValue: '确定',
ok: function () { }
}).showModal(api);
$("#uploadimg").text("");
return false; }
},
error: function (data, status, e) {
$("#uploadimg").text("错误");
}
}); $('#txtfiles').change(function () {
upload_pro();
});
} </script>
<script type="text/javascript">
var api = parent.dialog.get(window); //获取父窗体对象
//页面加载完成执行
$(function () {
//设置按钮及事件
api.button([{
value: '确定',
callback: function () {
execAttachHtml();
return false;
},
autofocus: true
}, {
value: '取消',
callback: function () { }
}]); }); //创建附件节点
function execAttachHtml() {
var currDocument = $(document); //当前文档 if ($("#hidFilePath").val() == "" || $("#hidFileSize").val() == "" || $("#txtFileName").val() == "") {
parent.dialog({
title: '提示',
content: '没有找到已上传附件,请上传!',
okValue: '确定',
ok: function () { }
}).showModal(api);
return false;
}
var fileExt = $("#hidFilePath").val().substring($("#hidFilePath").val().lastIndexOf(".") + 1).toUpperCase();
var fileSize = Math.round($("#hidFileSize").val() / 1024);
var fileSizeStr = fileSize + "KB";
if (fileSize >= 1024) {
fileSizeStr = ForDight((fileSize / 1024), 1) + "MB";
} appendAttachHtml($("#txtFileName").val(), $("#hidFilePath").val(), fileExt, fileSize, fileSizeStr); //插件节点 } //创建附件节点的HTML
function appendAttachHtml(fileName, filePath, fileExt, fileSize, fileSizeStr) { var liHtml = '<li>'
+ '<input name="hid_attach_id" type="hidden" value="0" />'
+ '<input name="hid_attach_filename" type="hidden" value="' + fileName + '" />'
+ '<input name="hid_attach_filepath" type="hidden" value="' + filePath + '" />'
+ '<input name="hid_attach_filesize" type="hidden" value="' + fileSize + '" />'
+ '<i class="icon"></i>'
+ '<a href="javascript:;" onclick="delAttachNode(this);" class="del" title="删除附件"></a>'
+ '<div class="title">' + fileName + '</div>'
+ '<div class="info">类型:<span class="ext">' + fileExt + '</span> 大小:<span class="size">' + fileSizeStr + '</span> ' + '</li>';
api.close(liHtml).remove(); }
//四舍五入函数
function ForDight(Dight, How) {
Dight = Math.round(Dight * Math.pow(10, How)) / Math.pow(10, How);
return Dight;
}
</script> </head> <body>
<form id="form1" runat="server">
<div class="div-content">
<dl>
<dt>选择文件</dt>
<dd><asp:FileUpload ID="txtfiles" runat="server" class="input txt"/>
<input type="hidden" id="hidFilePath" class="upload-path" />
<input type="hidden" id="hidFileSize" class="upload-size" />
</dd>
</dl>
<div class="dl-attach-box">
<dl>
<dt>文件名称</dt>
<dd> <input type="text" id="txtFileName" class="input txt upload-name" />
<div class="upload-box upload-attach"></div>
</dd>
</dl>
<dl>
<dt></dt>
<dd> <span class="tips">上传文件后,可更改附件名称</span></dd>
</dl>
<dl>
<dt></dt>
<dd><span id="uploadimg"></span></dd>
</dl>
<style>
#uploadimg{color:#000;line-height:32px;font-weight:bold}
#uploadimg img{vertical-align:middle}
</style>
</div> </div> </form>
</body>
</html>

tools\upload_ajax.ashx加入方法

   case "AttachFile"://附件上传文件
AttachFile(context);
break;
#region 上传附件的方法,有些IE8不支持webuploader,改用ajaxfileupload
private void AttachFile(HttpContext context)
{
bool _iswater = false;//默认不水印
HttpFileCollection files = context.Request.Files;
if (files == null)
{
context.Response.Write(@"{
status : 'error',
msg : '" + "请选择要上传文件" + @"'
}");
context.Response.End();
return;
}
if (files != null && files.Count > )
{
HttpPostedFile file = files[];
try
{
UpLoad upFiles = new UpLoad();
string remsg = upFiles.fileSaveAs(file, false, _iswater);
Dictionary<string, object> dic = JsonHelper.DataRowFromJSON(remsg);
string status = dic["status"].ToString();
string msg = dic["msg"].ToString();
if (status == "")
{
context.Response.Write("{\"status\":0,\"msg\":\"" + msg + "\"}");
return;
}
else
{
string name = dic["name"].ToString();
string path = dic["path"].ToString();
string fileSize = dic["size"].ToString();
context.Response.Write("{\"status\":1,\"msg\":\"" + msg + "\",\"path\":\"" + path + "\",\"name\":\"" + name + "\",\"size\":" + fileSize + " }"); }
}
catch (Exception ex)
{
context.Response.Write("{\"status\": 0,\"msg\":\"" + ex.Message + "\"}");
context.Response.End();
} } }
#endregion

DTCMS中部分IE8不支持webupload上传附件的控件,更改为ajaxfileupload的更多相关文章

  1. vue上传大文件控件

    文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹.今天研究了一下这个问题,在 ...

  2. AutoIt上传非input控件方式的文件脚本

    AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动 ...

  3. Net上传附件大小控控值(转)

    Server Error 404 – File or directory not found. The resource you are looking for might have been rem ...

  4. 文件上传(FileUpload控件)

    asp.net 文件上传,大文件上传.   新建一个asp.net页面,在工具栏里拖入 FileUpload 上传控件.一个按钮 Button  !    !     ! 进入Button事件 //- ...

  5. IE8/9 JQuery.Ajax 上传文件无效

    IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...

  6. springmvc学习笔记--支持文件上传和阿里云OSS API简介

    前言: Web开发中图片上传的功能很常见, 本篇博客来讲述下springmvc如何实现图片上传的功能. 主要讲述依赖包引入, 配置项, 本地存储和云存储方案(阿里云的OSS服务). 铺垫: 文件上传是 ...

  7. mvc文件上传支持批量上传,拖拽以及预览,文件内容校验等

    使用bootstrap-fileinput 使用方式: 1.nuget:Install-Package bootstrap-fileinput 2.语言本地化{下载fileinput_locale_z ...

  8. .net core版 文件上传/ 支持批量上传,拖拽以及预览,bootstrap fileinput上传文件

    asp.net mvc请移步 mvc文件上传支持批量上传,拖拽以及预览,文件内容校验 本篇内容主要解决.net core中文件上传的问题  开发环境:ubuntu+vscode 1.导入所需要的包:n ...

  9. JavaEE开发之SpringMVC中的自定义消息转换器与文件上传

    上篇博客我们详细的聊了<JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术>,本篇博客依然是JavaEE开发中的内容,我们就来聊一下SpringMVC中的自定义消息转发器 ...

随机推荐

  1. MySQL锁系列2 表锁

    http://www.cnblogs.com/xpchild/p/3789068.html   上一篇介绍了MySQL源码中保护内存结构或变量的锁,这里开始介绍下MySQL事务中的表锁. 注1: 在表 ...

  2. Spring MVC 接收Json格式参数

    今天做了一个关于表格排序的功能,可以通过右边的箭头做排序操作,每次操作需要通过Ajax将每条记录的Id数组作为参数去发送请求, 后台Spring MVC接到参数后作更改序号操作. 前端页面发送请求的代 ...

  3. 模板方法模式(Template Method)

    @@@模式定义: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中. 模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. @@@练习示例:  登录控制 @@@示例代码: \s ...

  4. QTP 中对象操作

    1.创建对象(将浏览器设置为一个对象) set oIE=createobject("internetexplorer.application") 2.将浏览器设置为可见的 oIE. ...

  5. setting bundle 多语言,本地化,系统设置

    新建一个setting.bundle后结构如下: Settings.bundle en.lproj Root.strings Root.plist 大家一般都在Root.plst里面添加删除条目,那么 ...

  6. DataTable转换为Model实体对象

    记得在学校的时候,接触得最多的就是SqlHelper,每次在读取的时候不管是DataTable还是DataReader转换为实体对象的时候是最恼火的,因为要写很多代码,而且没有什么意义.后面接触到了反 ...

  7. 浅谈JS执行环境及作用域

     今天刚刚开通博客,也是第一次写博文,略感紧张.作为一个表达能力弱弱的人来说,自己花三分钟理解一个知识点,当别人问起时,也许需要30分钟才只是让别人知道自己在说什么,一点也不夸张,希望在博客上可以练习 ...

  8. KindEditor图片上传到七牛云

    自己做了一个网站,编辑器用的是KindEditor,平时会涉及到KindEditor自带的图片上传,但是服务器用的是虚拟主机,没多少空间,就一直想着把图片放在免费的云存储空间,之前看KindEdito ...

  9. [BigData]关于Hadoop学习笔记第四天(PPT总结)(一)

    课程安排 Partitioner编程** 自定义排序编程** Combiner编程** 常见的MapReduce算法** ---------------------------加深拓展-------- ...

  10. 转:XMPP协议、MQTT协议、HTTP协议、CoAP协议的基本比较

    一.先看下相关国外的专业数据对四大协议的比较: Protocol                                    CoAP                         XMP ...