分享多文件上传控件plupload的使用心得.doc_第1页
分享多文件上传控件plupload的使用心得.doc_第2页
分享多文件上传控件plupload的使用心得.doc_第3页
分享多文件上传控件plupload的使用心得.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在使用uploadify遇到问题时,去求救过plupload控件,使用uploadify所遇到的问题,可以看我的其他文章。plupload控件能解决我在使用uploadify时遇到的几个问题,唯一让我不能选用它的一个原因就是它不支持IE6,虽然现在IE6已经逐渐淘汰,不过可惜我做的是一个老项目,系统推荐使用的就是IE6,所以在此把使用plupload的一些心得贴上,如果以后做新系统可以用上。它的官网地址:/index.php貌似官网地址都不支持IE6打开,呵呵。我使用的是1.5.4版本官网上有该控件的详细使用说明。我一下贴出的只是根据我项目需要所做的一些属性。在页面上添加引用(不需要可以去掉)(不需要可以去掉)(不需要可以去掉,我项目中需要用)(不需要可以去掉)(不需要可以去掉)(不需要可以去掉)var uploader = new plupload.Uploader(runtimes : flash, /官网上默认是gears,html5,flash,silverlight,browserplusbrowse_button : uploadify, /这个是点击上传的html标签的id,可以a,button等等container: container, /这个是容器的地址,max_file_size : 10mb, /这是文件的最大上传大小,得跟IIS结合使用url : /uploadhandler.aspx? +param1=value , /服务器页面地址,后面跟你想传递的参数flash_swf_url : /js/plupload/plupload.flash.swf, /flash地址filters : title : 网页文件, extensions : htm,html , /文件过滤multipart:false / 官网的解释是设置传递到后台服务中的数据流结构,false的时候使用正常的字节流,如果为true,则使用mutlipart格式,可能是为了实现大附件分段上传的功能如果设置了multipart:true,则你可以附加使用multipart_params参数去传递参数而不用像我这样通过在服务地址后面加参数。还有一些其他的属性,诸如chunk_size,resize(该属性能压缩图片,所以该控件对图片上传很有好处,推荐使用)可以查看官网的文档。如果你想简单的传递附件然后浏览,最好设置multipart:false,因为当你设置为true之后,你在后台中获取的流格式会有点问题,我本人的经验就是使用了true上传了一个html文档到数据库后,用 Response.ContentType = text/html; Response.BinaryWrite(body); Response.Flush(); Response.Close(); Response.End();这种方式查看附件时,直接打开的HTML页面会掺杂一些未能解析的流信息。);/文件添加时,会在容器里显示待上传的文件列表uploader.bind(FilesAdded, function(up, files) for (var i in files) $(filelist).innerHTML += + + ( + plupload.formatSize(filesi.size) + ); );/文件上传的进度uploader.bind(UploadProgress, function(up, file) $(file.id).getElementsByTagName(b)0.innerHTML = + file.percent + %; );/文件上传成功后的总计uploader.bind(UploadComplete,function(up,files) $(filelist).innerHTML=您选择的文件已经全部上传,总计共+files.length+个文件; );/ 这是一个选择完成后的上传按钮。点击按钮后,附件才开始上传$(ibtMultiSubmit).onclick = function() uploader.start(); return false; ;uploader.init();后台服务页面的代码:网上有人使用这种方式: Byte buffer = null; if (Request.ContentType = application/octet-stream & Request.ContentLength 0) buffer = new ByteRequest.InputStream.Length; Request.InputStream.Read(buffer, 0, buffer.Length); else if (Request.ContentType.Contains(multipart/form-data) & Request.Files.Count 0 & Request.Files0.ContentLength 0) buffer = new ByteRequest.Files0.InputStream.Length; Request.Files0.InputStream.Read(buffer, 0, buffer.Length); 来获取附件内容,我基本也是借鉴他的,获取参数就使用Request.Paramsparam1即可。获取到后,做自己的业务处理即可。使用该控件时遇到的唯一问题就是multipart:为true和false时,获取的流不同。并且它貌似不像uploadify那样提供动态获取参数的功能,所以如果某些想要传递到后台的参数不是页面初始化时设定的,可以考虑变换方式,比如在设置好参数的时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论