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. 步进循环语句for

    一.for语句的基本格式 for 变量 in 列表 do 语句块 done 二.使用for语句处理列表(数组) [root@localhost shell]# cat use_for_deal_wit ...

  3. debian之source.list详解

    之前安装的是debian sarge(内核是2.4.7),不太想更新,但是发现原来的源/ect/apt/source.lists如下,但是用apt-get update,发现大都已经不可用了.怎么办, ...

  4. 配置phpmyadmin使登录时可填写IP管理多台MySQL 连接多个数据库 自动登录

    一.如何设置phpMyAdmin自动登录? 首先在根目录找到config.sample.inc.php复制一份文件名改为config.inc.php(如果已经存在 config.inc.php 文件, ...

  5. shell判断一个变量是否为空

    判断一个变量是否为空 . 1. 变量通过" "引号引起来 如下所示:,可以得到结果为 IS NULL. #!/bin/sh para1= if [ ! -n "$para ...

  6. Python 基础【第四篇】参数

    程序运行避免不了需要一些参数来支持 那么如何让程序接收参数呢?这里先简单的用sys模块的参数 sys.argv[]方法来实现参数获取 1.用法: import sys   //导入sys模块后期会详细 ...

  7. CENTOS WDCP 安装及安全设置教程

    1.WDCP 安装 源码安装 (ssh登录服务器,执行如下操作即可,需root用户身份安装) wget  http://dl.wdlinux.cn:5180/lanmp_laster.tar.gz t ...

  8. [改善Java代码]警惕数组的浅拷贝

    建议62:警惕数组的浅拷贝 一.分析  在日常工作中,我们会遇见很多数组的拷贝和复制的问题,但是在你使用系统提供的API进行编码的时候,无形中会留下浅拷贝的隐患. 二.场景  有这样一个例子,第一个箱 ...

  9. 第四节 使用XML

    可扩展标记语言XML,是一种平台无关的数据表示格式,对特定数据表示需求的数据来说,比关系型格式有一定的优势. XML文档可以是计算机上的物理文件,网络上的数据流,或者仅仅是内存中的字符串.但是,XML ...

  10. Asp.net MVC 4 Html帮助类

    Html帮助类 used to render (modify and output) HTML form elements 用来渲染HTML表单元素(修改和输出) Html.ActionLink 输出 ...