uploadify控件使用在.net
第一次是博客,还有丢丢小兴奋呢。作为一个资深菜鸟,为了给自己留下点什么,开始记录一些技术问题。当然也是学习过程。
下面是成品的在.net web下的应用,还有很多不足的地方,期待大家的点评。
$(document).ready(function()
{
$("#uploadify").uploadify({
'buttonText':'选择文件',
'swf': '../scripts/jquery.uploadify-v3.2/uploadify.swf?ver=<%=DateTime.Now.Ticks %>',
'uploader': 'UploadHandler.aspx',//上传后对文件的处理页
'auto': false,//是否自动上传
'multi': true,//是否可以上传多个文件
'fileSizeLimit' : 204800,
'method' : "POST",
'formData' : {'fileID' : <%="'"+Request["file_id"] + "'"%>},
'onSelect': function(fileObj)
{
if(fileObj.name.indexOf('%') < 0)
{//这是我自己应用的一个方法,在数据库里判断是否有重复文件。
ajaxSendPost('IsFileExist.aspx',<%= "'file_id=" + Request["file_id"] + "'"%> + '&file_name=' + fileObj.name + '&file_size='+fileObj.size,IsFileExist);
}
else
{
$('#uploadify').uploadify('cancel', '*');
alert("文件名中含有非法字符(%)");
}
},
'onUploadSuccess':function(file,data,response){//处理上传成功后的事件
},
'onCancel':function(){//取消上传或者点击右上角X的方法
}
});
function IsFileExist(){
if(ajaxHttpRequest.readyState==4&&ajaxHttpRequest.status==200){
if(ajaxHttpRequest.responseText == "2")
{
alert("文件已经存在,按上传将覆盖已有文件!");
}
else if (ajaxHttpRequest.responseText == "1")
{
$('#uploadify').uploadify('cancel', '*');
alert("文件已经存在!");
}
}
}
});
cs文件处理:(UploadHandler.aspx.cs)
protected void Page_Load(object sender, EventArgs e) {
HttpPostedFile PostedFile = Request.Files["Filedata"];
string VirtualDIR = ConfigurationManager.AppSettings["VirtualDIR"];
string uploadPath = HttpContext.Current.Server.MapPath(VirtualDIR);
string AttchementuploadPath = HttpContext.Current.Server.MapPath(VirtualDIR + "/Attchements/");
string MemouploadPath = HttpContext.Current.Server.MapPath(VirtualDIR + "/Memos/");
string EvaluationUploadPath = HttpContext.Current.Server.MapPath(VirtualDIR + "/Evaluations/");
DateTime TimeStamp = DateTime.Now;
if (PostedFile != null)
{
if (!string.IsNullOrEmpty(Request["fileID"]))
{
int file_id = int.Parse(Request["fileID"]);
string FullFileName = uploadPath + "\\" + PostedFile.FileName;
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
PostedFile.SaveAs(FullFileName);
//下面这句代码缺少的话,上传成功后上传队列的显示不会自动消失
//context.Session[context.Session["userName"].ToString()] = filename;
//context.Response.Write(filename);
string content = SaveFileContent.GetFileContent(FullFileName);
}
else
{
Response.Write("0");
}
}
}
else
{
Response.Write("0");
}
}
顺便把保存文件内容的方法写在这个了(只适合.txt和word文件啦)
public class SaveFileContent {
public SaveFileContent()
{ // // TODO: 在此处添加构造函数逻辑 //
}
public static string GetFileContent(object file_path)
{ string outText = string.Empty;
Word._Application oWord = new Word.Application();
Word._Document oDoc;
object oMissing = System.Reflection.Missing.Value;
object format = WdSaveFormat.wdFormatDocument;
object VisiableWindows = false;
object Readonly = true;
try {
oWord.Visible = true;
object fileName = file_path;
oDoc = oWord.Documents.Open(ref fileName, ref format, ref Readonly, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref VisiableWindows, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
//oDoc = oWord.Documents.Open(ref fileName, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
outText = oDoc.Content.Text;
oDoc.Close(ref oMissing, ref oMissing, ref oMissing);
oDoc = oWord.Documents.Add(ref fileName, ref oMissing, ref oMissing, ref VisiableWindows);
//oDoc = oWord.Documents.Add(ref fileName, ref oMissing, ref oMissing, ref oMissing);
return outText.ToString();
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
finally
{
oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
}
return "";
}
}
就不展示结果啦~~
把3.2的具体参数放在这了,以便查找!!
http://blog.sina.com.cn/s/blog_5079086b0101fkmh.html
uploadify控件使用在.net的更多相关文章
- Uploadify 控件上传图片 + 预览
jquery的Uploadify控件上传图片和预览使用介绍. 在简单的servlet系统中和在SSH框架中,后台处理不同的,在三大框架中图片预览时费了不少力气,所以下面将两种情况都介绍一下. 1,前台 ...
- ThinkPHP 3.2.3集成uploadify上传控件
uploadify控件有一个坑爹的问题,就是文件上传时会session丢失,官方解释http://www.uploadify.com/documentation/uploadify/using-ses ...
- jquery文件上传控件 Uploadify
(转自 http://www.cnblogs.com/mofish/archive/2012/11/30/2796698.html) 基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同 ...
- 使用Uploadify(UploadiFive)多文件上传控件遇到的坑
最近项目中需要实现多文件上传功能,于是结合需求最终选择了Uploadify这一款控件来实现.相比其他控件,Uploadify具有简洁的界面,功能API基本可以解决大多数需求,又是基于jquery的,配 ...
- jquery文件上传控件 Uploadify 问题记录
Uploadify v3.2.1 首先引用下面的文件 <!--上传控件 uploadify--> <script type="text/javascript" s ...
- jquery上传文件控件Uploadify
基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. 要求使用jquery1.4或以上版本,flash player 9.0.24以上. 有两个 ...
- uploadify上传控件使用
uploadify是JQuery的一个上传插件,实现的效果非常不错,并且带进度显示,我将给大家演示如何使用uploadify进行图片上传, 1.点我下载http://www.uploadify.com ...
- 文件上传~Uploadify上传控件~续(多文件上传)
对于Uploadify文件上传之前已经讲过一次(文件上传~Uploadify上传控件),只不过没有涉及到多文件的上传,这回主要说一下多个文件的上传,首先,我们要清楚一个概念,多文件上传前端Upload ...
- uploadify上传控件中文的乱码解决办法
uploadify上传控件中文的乱码解决办法 网站用的gb2312的编码,用uploadify上传控件上传中文时在IE能部分成功,FF,Chrome则完全失败,查找了一天原因,结果发现是页面编码问题, ...
随机推荐
- Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 2
Prepare 10g Database for OGG Create GGS and GGS_MON Database Users SQL> create tablespace ggs_tbs ...
- Hyperion Essbase BusinessRule 函数学习--2
@AVG Returns the average of all values in expList. [返回表达式列表的平均值] Syntax @AVG (SKIPNONE | SKIPMISSING ...
- MySQL整数类型说明 int(11) vs int(20)
整数类型后面跟的是显示的宽度.M指示最大显示宽度.最大有效显示宽度是255.显示宽度与存储大小或类型包含的值的范围无关. 实践出真知: mysql> create table test2 ( a ...
- WIN7 Net Configuration Assistant打不开
转自 http://www.cnblogs.com/caojie0432/archive/2013/07/30/3225230.html 作者:db_suploc 今天在安装oracle10g的 ...
- 如何导出远程oracle数据库中的表结构
从远程oracle数据库上导出指定表的表结构语句有两种方法: 方法一:通过sql语句获得 1,make sure that you can connect the remote database. 2 ...
- 运算符 - PHP手册笔记
运算符优先级 每种编程语言都有运算符,运算符要学会灵活使用. 运算符拥有不同的优先级和结合方向. <?php var_dump(1 <= 1 == 1); // true var_dump ...
- FTP下文件夹权限的设置755,766,777,644代表什么意思
一般情况下,为了网站更安全,我们需要给文件或文件夹设置权限,在采用FTP登录的方式下,经常会用到755,766,777,644等设置. 具体这些数字都代表什么意思呢? 这三个数字分别表示:不同用户或用 ...
- JAVA的网络编程【转】
JAVA的网络编程[转] Posted on 2009-12-03 18:04 火之光 阅读(93441) 评论(20) 编辑 收藏 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能, ...
- Lwip lwip_recvfrom函数一个数据包不能分多次读取。
最近在写一个基于Lwip协议栈的网络程序,对于一包数据,想先获得包头信息,再根据包头信息读取后面的数据,但是调用recvfrom后,发现读取后面的数据读取不到,进一步查阅发现,原来对于UDP协议,一次 ...
- python学习day10
目录 Twisted Redis RabbitMQ Twisted 事件驱动 事件驱动分为两个部分:第一,注册事件:第二,触发事件. 自定义事件启动框架,命名为:"弑君者" ...