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中的自定义消息转发器 ...
随机推荐
- mysql-----gtid_executed详解 原创
MySQL 5.6版本开启GTID模式,必须打开参数log_slave_updates, 简单来说就是必须在从机上再记录一份二进制日志.这样的无论对性能还是存储的开销,无疑会相应的增大 而MySQL ...
- 操作cookie
$.extend($, { setCookie: function(c_name, value, expiredays) { var exdate = new Date(); exdate.setDa ...
- linux之centos安装xampp
一.xampp下载地址: http://downloads.sourceforge.net/project/xampp/XAMPP%20Linux/5.5.19/xampp-linux-x64-5.5 ...
- 我和ip_conntrack不得不说的一些事
面对让人无语的ip_conntrack,我有一种说不出的感觉!自从接触它到现在,已经两年多了,其间我受到过它的恩惠,也被它蹂躏过,被它玩过,但是又不忍心舍弃它,因为我找不到更好的替代.工作中,学习中, ...
- ACM一道关于素数查找的题
在ACM做这么一道题: 我用了最简单的查找素数的方法: bool isPrime(int n) { int t=n-1; while(t>2) { if(n%t==0) { return fal ...
- android 代码设置、打开wifi热点及热点的连接
用过快牙的朋友应该知道它们在两天设备之间传输文件的时候使用的是wifi热点,然后另一台便连接这个热点再进行传输.快牙传输速度惊人应该跟它的这种机制有关系吧.不知道它的搜索机制是怎样的,但我想应该可以通 ...
- 转: 基于nginx的hls直播系统
转自:http://blog.csdn.net/cjsafty/article/details/9108587 看点: 1. 详细解解答了 nginx rtmp配置过程. 前写了一篇基于nginx的h ...
- [Wordpress]Wordpress使用SMTP发送电邮
参考:phpmailer_init中的代码,可以配置使用SMTP发送电邮 官方的案例代码是: add_action( 'phpmailer_init', 'my_phpmailer_example' ...
- C# 利用ffmpeg 对视频转换系类操作 (1) 基本分析
最近公司做一个项目,开发一个视频站点.项目需求中有很多视频转换的需求,如:格式转换(flv,Mp4),视频水印,视频截图,视频合成,获取视频的基本信息(时间戳,视频大小等).经过网络的收集资料以及自己 ...
- Android 命令行编译、打包生成apk文件
一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1. ...