SWFUpload.

系统 1965 0

前几周做一个web企业项目,用户一定要求要有批量上传功能,而且指明了要和他们的老系统上传文件功能一样(老系统是c/s结构,vb做的)。然后没办法,想来想去只有flash能做到,于是上网找有没有这方面的东西,就找到了这个东东——SWFUpload.

官网地址是:http://swfupload.mammon.se/

由于在官网的里例子示范里面只有php,C#,VB.net和ROR的,然后我上javaeye搜了下,好象也不多,只有一篇,而且也是比较高级的,于是只能自己搞了。

完了之后觉得这个东西的确相当不错,使用感觉很好,我估计我以后做项目可能都要用这玩意了。

代码我自己做了个war包,很简单的一个例子,我在tomcat5.5和java5.0环境下测试通过。

包结构如下:

Java代码 复制代码   收藏代码
  1. index.jsp   
  2. upload.jsp   
  3. js   
  4. +-----example_callbacks.js   
  5. +-----SWFUpload.js   
  6. +-----SWFUpload.swf  
    index.jsp
upload.jsp
js
+-----example_callbacks.js
+-----SWFUpload.js
+-----SWFUpload.swf

  



以上index.jsp就是 文件上传 显示页面,upload.jsp做上传功能。js里面的两个一个是与swf通信的回调函数,一个是本身使用的js文件。

比较重要的一段内容是在index.jsp里面,如下

Java代码 复制代码   收藏代码
  1. var swfu;   
  2.     window.onload = function() {   
  3.     swfu =  new  SWFUpload({   
  4.         upload_script :  "../upload.jsp" ,   //调用的上传功能   
  5.         target :  "SWFUploadTarget" ,   
  6.         flash_path :  "js/SWFUpload.swf" ,   //flash所在位置   
  7.         allowed_filesize :  30720 ,    // 30 MB   
  8.         allowed_filetypes :  "*.*" ,   
  9.         allowed_filetypes_description :  "All files..." ,   
  10.         browse_link_innerhtml :  "选择" ,   
  11.         upload_link_innerhtml :  "开始上传" ,   
  12.         browse_link_class :  "swfuploadbtn browsebtn" ,   
  13.         upload_link_class :  "swfuploadbtn uploadbtn" ,   
  14.         flash_loaded_callback :  'swfu.flashLoaded' ,   
  15.         upload_file_queued_callback :  "fileQueued" ,   
  16.         upload_file_start_callback :  'uploadFileStart' ,   
  17.         upload_progress_callback :  'uploadProgress' ,   
  18.         upload_file_complete_callback :  'uploadFileComplete' ,   
  19.         upload_file_cancel_callback :  'uploadFileCancelled' ,   
  20.         upload_queue_complete_callback :  'uploadQueueComplete' ,   
  21.         upload_error_callback :  'uploadError' ,   
  22.         upload_cancel_callback :  'uploadCancel' ,   
  23.         auto_upload :  false   
  24.     })   
  25. }  
    var swfu;
	window.onload = function() {
	swfu = new SWFUpload({
		upload_script : "../upload.jsp",  //调用的上传功能
		target : "SWFUploadTarget",
		flash_path : "js/SWFUpload.swf",  //flash所在位置
		allowed_filesize : 30720,	// 30 MB
		allowed_filetypes : "*.*",
		allowed_filetypes_description : "All files...",
		browse_link_innerhtml : "选择",
		upload_link_innerhtml : "开始上传",
		browse_link_class : "swfuploadbtn browsebtn",
		upload_link_class : "swfuploadbtn uploadbtn",
		flash_loaded_callback : 'swfu.flashLoaded',
		upload_file_queued_callback : "fileQueued",
		upload_file_start_callback : 'uploadFileStart',
		upload_progress_callback : 'uploadProgress',
		upload_file_complete_callback : 'uploadFileComplete',
		upload_file_cancel_callback : 'uploadFileCancelled',
		upload_queue_complete_callback : 'uploadQueueComplete',
		upload_error_callback : 'uploadError',
		upload_cancel_callback : 'uploadCancel',
		auto_upload : false
	})
}

  




有一点要提醒,要当心这个upload_script属性,这个值是一个相对地址, 是swf文件相对于上传功能文件的路径。这个很容易搞错 我这个包里upload.jsp就是上传功能,看代码就知道了,很原始的一个 文件上传

再就是如果上传过程中是404错误,一般是就是这个upload_script属性设置错误,如果是500错误就是上传文件(upload.jsp)出错。


具体的配置等等就看官网的论坛吧,常见问题基本都在那里了。

SWFUpload.


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论