DTCMS中部分IE8不支持webupload上传附件的控件,更改为ajaxfileupload
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的更多相关文章
- vue上传大文件控件
文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹.今天研究了一下这个问题,在 ...
- AutoIt上传非input控件方式的文件脚本
AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动 ...
- Net上传附件大小控控值(转)
Server Error 404 – File or directory not found. The resource you are looking for might have been rem ...
- 文件上传(FileUpload控件)
asp.net 文件上传,大文件上传. 新建一个asp.net页面,在工具栏里拖入 FileUpload 上传控件.一个按钮 Button ! ! ! 进入Button事件 //- ...
- IE8/9 JQuery.Ajax 上传文件无效
IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...
- springmvc学习笔记--支持文件上传和阿里云OSS API简介
前言: Web开发中图片上传的功能很常见, 本篇博客来讲述下springmvc如何实现图片上传的功能. 主要讲述依赖包引入, 配置项, 本地存储和云存储方案(阿里云的OSS服务). 铺垫: 文件上传是 ...
- mvc文件上传支持批量上传,拖拽以及预览,文件内容校验等
使用bootstrap-fileinput 使用方式: 1.nuget:Install-Package bootstrap-fileinput 2.语言本地化{下载fileinput_locale_z ...
- .net core版 文件上传/ 支持批量上传,拖拽以及预览,bootstrap fileinput上传文件
asp.net mvc请移步 mvc文件上传支持批量上传,拖拽以及预览,文件内容校验 本篇内容主要解决.net core中文件上传的问题 开发环境:ubuntu+vscode 1.导入所需要的包:n ...
- JavaEE开发之SpringMVC中的自定义消息转换器与文件上传
上篇博客我们详细的聊了<JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术>,本篇博客依然是JavaEE开发中的内容,我们就来聊一下SpringMVC中的自定义消息转发器 ...
随机推荐
- pt-online-schema-change原理解析 博客相关需要阅读
xiaoboluo768 http://www.lai18.com/user/481193.html 都说pt-toolkit工具集中的pt-online-schema-change可以在线不锁 ...
- Python基础教程之List对象 转
Python基础教程之List对象 时间:2014-01-19 来源:服务器之家 投稿:root 1.PyListObject对象typedef struct { PyObjec ...
- mysql 批量插入数据过多的解决方法
使用场景: 测试时需要插入100w的数据,跑sql脚本插入非常慢. 存储过程如下: //DELIMITER DROP PROCEDURE if EXISTS createAmountCount; cr ...
- 谈KVC、KVO(重点观察者模式)机制编程
一不小心,小明在<跟着贝尔去冒险>这个真人秀节目中看到了“一日警察,一世警察”的Laughing哥,整个节目除了贝尔吃牛睾丸都不用刀叉的不雅餐饮文化外,还是镜头少普通话跟小明一样烂的Lau ...
- Android(java)学习笔记83:finally关键字的作用
package cn.itcast_07; import java.text.ParseException; import java.text.SimpleDateFormat; import jav ...
- shell(1)
bash变量类别: 本地变量 : 又叫局部变量,仅对当前shell进程有效 环境变量 : 当前shell及其子shell,子子shell-. 特殊变量 : $? 上一个命令执行的状态,0表示执行成功 ...
- Objective-C ,ios,iphone开发基础:3分钟教你做一个iphone手机浏览器
第一步:新建一个Single View工程: 第二步:新建好工程,关闭arc. 第三步:拖放一个Text Field 一个UIButton 和一个 UIWebView . Text Field 的ti ...
- android 获取IMEI号
android 获取 imei号码 核心代码: Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId( ...
- fatal error LNK1168: cannot open Debug/opreat.exe for writing
问题:LINK : fatal error LNK1168: cannot open Debug/opreat.exe for writing Error executing li ...
- sublime text使用技巧
常用快捷键 Ctrl + L 选择整行(按住-继续选择下行) Ctrl + KK 从光标处删除至行尾 Ctrl + Shift+K 删除整行 Ctrl + Shift+D 复制光标所在整行,插 ...