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. 关于jquery ID选择器的一点看法

    最近看到一道前端面试题: 请优化selector写法:$(".foo div#bar:eq(0)") 我给出的答案会是: 1. $("#bar") 2.  $( ...

  2. gradle使用小记

    1.全局排除依赖: allprojects {    apply plugin: 'java'    apply plugin: 'eclipse'    apply plugin: 'maven-p ...

  3. Ruby用法总结

    1.ruby中的整数.浮点数.字符串之间的相互转换 ruby的整数.浮点数.字符串的类均提供了to_i,to_f,to_s三个方法,分别用于转换成整数.转换成浮点数.转换成字符串. 2.数组的遍历 例 ...

  4. IE7下position:relative的问题

    如果在IE7中使用position:relative属性,需要在该元素的容器上,同时给予position:relative属性.

  5. 面试常备题---二叉树总结篇(zt)

    人生就像是一场长跑,有很多机会,但也得看我们是否能够及时抓牢,就像下面这样的代码: while(isRunning) { if(...){...} else if(...){...} ... else ...

  6. python(5) - 冒泡排序

    data = [10, 4, 33, 21, 54, 3, 8, 11, 5, 22, 2, 1, 17, 13] ''' 思路:有多少个元素就循环多少次,每次循环从第一个元素开始与它后面的元素比较, ...

  7. “Request Entity Too Large” 上传图片出现大小限制

    昨天公司安卓app上传了图片爆了下面这个错误 <"-//IETF//DTD HTML 2.0//EN"> <html><head> <ti ...

  8. CF Two Buttons (BFS)

    Two Buttons time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  9. ip 子网掩码 网关 DNS

    这一篇文章也很好: 原文引用于:  http://www.cnblogs.com/jiqing9006/p/3365939.html 内外网ip: IP地址: IPv4地址分为A.B.C.D.E五类, ...

  10. hdu 4340 树状DP

    思路:我们定义两个数组,ant[Maxn][2],bob[Maxn][2].ant[i][0]表示还未确定哪个城市被全费用占领,ant[i][1]表示确定了哪个城市被全费用占领.那么ant[i][0] ...