「java常用上传插件」java中上传文件
今天给各位分享java常用上传插件的知识,其中也会对java中上传文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、SWFUpload 文件上传插件常用的配置讲解
- 2、在java代码中怎么从服务器上把图片拿来放到数据库里
- 3、JAVA WEB怎么实现大文件上传
- 4、JSharer 如何上传...
- 5、javaWEB项目中如何实现批量选择文件并上传呢?有什么好的插件,最好有相关代码例子
- 6、Java怎样实现跨服务器文件上传
SWFUpload 文件上传插件常用的配置讲解
上传文件swfUpload 插件:
基本的文件上传涉及到的四个文件 (还有一个处理数据的php文件 这里没有涉及到)
html页面:
upload_window.html
js文件:
swfupload.js
handlers.js
fileprogress.js
第一:从html页面出发:
重要的是将页面加载时间中的var setting={}这个大对象中的参数设置好 以下都是这个对象里面的常用配置 非常重要
首先需要将swfupload.swf加载
在 var setting={} 这个大对象里面加flash_url:值
如: flash_url: "tpl$siteurl_static/tpl/assets/uc/js/swfupload.swf",
然后需要将上传的路径加入 如: upload_url: "" + uploadkey + "ck=" + ck + "cc=" + cc,(java的上传路径)
相关的设置常用的有:
file_size_limit (设置上传的大小) file_types(设置文件上传的类型)file_types_description(设置文件上传描述)
file_upload_limit (设置文件上传的数量限制)file_queue_limit (设置文件队列数量限制)
prevent_swf_caching : false (在相关的swf文件增加随机参数避免Flash被缓存)
debug:false
按钮的相关配置:
button_width: "200",
button_height: "50",
button_text_left_padding: 16,
button_text_top_padding: 7,
button_cursor: button_cursor 指定鼠标悬停在Flash按钮上时的光标样式,可用值为SWFUpload.CURSOR里定义的常量。如:button_cursor: SWFUpload.CURSOR.HAND,
button_action(设置只能上传一个文档的限制:--》button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE)
之后就是设置一些事件处理函数 这些都是在 handlers.js 里面相应的函数
file_dialog_start_handler: fileDialogStart,(设置文件对话开始函数)
file_queued_handler: fileQueued,(设置文件队列函数)
file_dialog_complete_handler: fileDialogComplete,(设置文件对话完成处理函数)
file_queue_error_handler: fileQueueError,(设置队列错误处理函数)
upload_start_handler: uploadStart,(设置开始上传函数)
upload_progress_handler: uploadProgress,(设置上传进度处理函数)
upload_error_handler: uploadError,(设置上传错误处理函数)
upload_complete_handler: uploadComplete,(设置上传完成处理函数)
upload_success_handler: uploadSuccess(设置上传成功处理函数)
以上的配置都是在页面自动加载函数的setting大对象里面需要配置的基本参数
除了以上这些还有下面相应的非常关键的配置
别忘记:在setting大对象结束之后 在自动加载函数结束之前还有swfu = new SWFUpload(settings); 实例化一个对象
var setting还有比较重要的配置 如下:
1.关于上传进度的配置是关键:
在var setting={}这个大对象里面设置一个元素:
custom_settings: {
progressTarget: "fsUploadProgress"
},
progressTarget的值(即fsUploadProgress)是文件上传进度的显示 将html里面设置相应的位置放id="fsUploadProgress"
如:div class="progressbar progressbar-0" id="fsUploadProgress"
span class="prog-num"0/span
/div
span标签里的0就是从0开始进行上传 0就是初始的显示进度
2:关于上传的按钮设置
在 var setting={} 这个大对象里面设置 button_placeholder_id : "spanButtonPlaceHolder"
需要将html相应的上传按钮加上相应的id="spanButtonPlaceHolder"
如:div id="upload_doc" class="up-btn"i 上传文档/ispan id="spanButtonPlaceHolder"/span/div
成功上传需要将相应的数据进行处理:
在html页面中需要写ajax进行数据的处理~
如:
//成功后调用
function agree_upload(){
var doc_id=$('.doc_title').attr('id');
if(doc_id0){
uploadFinish(doc_id);
parent.DOC88Window.close();
}else{
alert('您还未选择重新上传的文档');
}
}
function uploadFinish(new_p_id) {
var old_p_id = "tpl$p_id/tpl";
$.ajax({
url: "/ucr/doc.php?act=save_upload",
type: "post",
data: {
old_p_id: old_p_id,
new_p_id: new_p_id
},
dataType: "json",
success: function (msg) {
if (msg.result == 1) {
alert("数据正确");
} else {
alert("数据错误");
}
}
});
}
第二:因为html页面中setting配置中有相应的函数处理配置 涉及到handler.js函数,所以接下来到handler.js文件的处理配置
根据html页面的配置 处理函数的顺序进行相应的配置
首先是fileQueue函数 文件排队函数:
需要设置一个变量 关于flash动画的函数
var stats = swfu.getStats();
根据需要将文件上传队列数量进行限制
if (stats.files_queued 1) {
alert("您的附件不能超过1个");
return false;
}
接下来是fileQueueError函数 文件排队错误函数:
根据需要将相应的设置放在这个函数里面
可以放在try catch函数里面 设置的限制如下:
switch (errorCode) {
case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
alert('单个文件大小不要超过50MB');
break;
case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
alert('不能上传空文件');
this.debug("Error Code: Zero byte file, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
break;
case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
alert('文件类型错误');
break;
default:
if (file !== null) {
}
this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
break;
}
接下来是uploadStart函数 文件上传开始函数:
设置相应的功能按钮的变换 比如上传开始(走到这个函数时 可以将相应的上传按钮改成上传中 并且禁止点击 就是禁用功能 加上一个取消上传按钮 )
可以将上传的文件的名称和文件格式显示出来
如:
$("#upload_doc i").html("上传中");
$('#cancel_upload').html('取消');
$("#upload_doc").attr('disabled','disabled');
var name = file.name;
$('.doc_title').html(name);
var format = file.type;
format = format.toLocaleUpperCase();
format = format.replace('.', '');
$('.doc_format').html(format);
接下来是uploadProgress函数 文件上传进度函数:如:
var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);//上传的进度
var progress = new FileProgress(file, this.customSettings.progressTarget);
progress.setProgress(percent);
progress.setStatus("正在上传");
接下来是uploadSuccess函数 文件上传成功函数
然后是uploadError函数 上传失败函数:
其他相关的函数可以根据需要进行设置
第三:fileprogress.js文件 关于文件上传进度 关键的是:
FileProgress函数的设置:
如:
function FileProgress(file, targetID) {
this.fileProgressID = file.id;
this.fileProgressWrapper = document.getElementById(this.fileProgressID);
if (!this.fileProgressWrapper) {
this.fileProgressWrapper = document.createElement("li");
this.fileProgressWrapper.id = this.fileProgressID;
document.getElementById(targetID).appendChild(this.fileProgressWrapper);
}
this.setTimer(null);
}
FileProgress.prototype.setProgress = function (percentage) {} 里面进度样式的处理
如:
if (percentage = 5) {
$(".progressbar").addClass('progressbar-5');
} else if (percentage = 10) {
$(".progressbar").addClass('progressbar-10');
}......
第四:swfupload.js文件 几乎不用修改 可以将不用的函数删减
有很详细的讲解 链接:
在java代码中怎么从服务器上把图片拿来放到数据库里
大概流程:
1.上传插件的选择:此篇博文选择的是jQuery的zyupload文件上传插件;
2.上传请求发起后,java代码的处理:你是要将上传的图片只保存在服务器还是只保存在数据库还是说两者都采取。上传到服务器很简单,保存到数据库也很简单,但是此处需要考虑业务,图片保存在数据库时采用哪种保存方式(本博文业务来自于项目,因为图片数量巨多,故在数据库是通过保存图片的路径实现的,并非二进制流);
3.图片保存在数据库后,在前段页面的回显功能。
JAVA WEB怎么实现大文件上传
解决这种大文件上传不太可能用web上传的方式,只有自己开发插件或是当门客户端上传,或者用现有的ftp等。
1)开发一个web插件。用于上传文件。
2)开发一个FTP工具,不用web上传。
3)用现有的FTP工具。
下面是几款不错的插件,你可以试试:
1)Jquery的uploadify插件。具体使用。你可以看帮助文档。
2)网上有一个Web大文件断点续传控件:
此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
JavaUploader免费开源的,是用applet实现的,需要签名才能在浏览器上用,支持断点。缺点是收费。
3)applet也是一种方式,MUPLOAD组件就是以APPLET方式处理的。
如果你不需要访问用户的硬盘文件,那你可以使用FTP上传,也支持断点。但只要你访问用户磁盘,又要支持断点,那必须要签名的。不然浏览器不知道你的身份。
JSharer 如何上传...
资源上传
4.1 怎么上传文件
登录之后点击JSharer任何页面上方导航栏——我的资源——上传文件 即可开始上传。目前JSharer支持普通上传、JAVA插件上传和FTP上传。 普通方式上传适合200Mb以下的小型文件,只需要常用的Flash插件即可以上传,但是中断后无法续传。 JAVA插件上传适合大中型文件,需要下载安装插件,中断之后可以续传。 FTP方式上传可以快速批量上传,需要使用FTP软件,中断后也可以续缓存,支持FXP(服务器对传功能)。JSharer推荐您在大部分情况下使用FTP上传功能上传资源。
4.2 怎么批量上传文件
使用FTP客户端软件的上传队列功能,您将可以轻松的完成批量上传。
4.3 怎么才能续传文件
当您使用FTP上传功能时,通过各种FTP软件客户端的设置即可完成文件续传。 当您使用JAVA上传功能时,只需重新访问JAVA上传页并选择之前上传的文件即可开始自动续传。
4.4 怎么使用FTP上传
首先注册一个帐号,在首页点击注册。请正确填写好注册资料,特别是E-mail地址,JSharer将会发送一封激活邮件至您的注册邮箱,在您点击该邮件中的链接激活帐号后您就可以开始使用JSharer了。 注意:请在12小时内完成激活,12小时后未激活的帐号,帐号名称将被系统重新回收。
javaWEB项目中如何实现批量选择文件并上传呢?有什么好的插件,最好有相关代码例子
jquery.uploadify批量上传控件
[html]
link href="styles/uploadify.css" rel="stylesheet" type="text/css" /
script type="text/javascript" src="styles/uploadify.swf"/script
script type="text/javascript" src="javascripts/jquery.uploadify.min.js"/script
link href="styles/uploadify.css" rel="stylesheet" type="text/css" /
script type="text/javascript" src="styles/uploadify.swf"/script
script type="text/javascript" src="javascripts/jquery.uploadify.min.js"/script 还有jquery.js,你懂得!
这里注意哦,css文件会引用到这个图片哦,所以请你指定这个图片的位置哦,不然就没有显示这个叉叉哦,这个叉叉是删除按钮的哦,没有就是空白哦!
[javascript]
script
function snedUpLoad(){
var pid = $("#entityId").val(); //这个是我自己获取的自定义参数
var entityName = $("#entityName").val(); //同上
$("#uploadify").uploadify({ //初始化uploadify uploadify是input的id
//'debug' : false, //dubug模式 ,默认是false
'auto':false, //自动上传,就是控件自动上传,默认是true
'multi':true,
//'successTimeout':99999, //超时时间
'formData':{'pid':pid,'entityName':entityName },//我的参数列表
//'fileObjName':'uploadify', //服务器的属性名字
'uploader':'你的后台url地址;jsessionid=${pageContext.session.id}',//提交服务器路径,这里
说明下;jsessionid=${pageContext.session.id},这个是用于非IE内核的浏览器兼容的
'swf':"styles/uploadify.swf", //flash文件,官方的文件,引用上就是了
//'uploader': '/Home/Upload', //文件保存路径 用处不大
'buttonText': '文件上传', //按钮
//'height':'32', //浏览按钮的高度
//'width':'100', //浏览按钮的宽度
'fileTypeDesc':'支持的格式:', //在浏览窗口底部的文件类型下拉菜单中显示的文本
'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png', //允许上传的文件后缀
'fileSizeLimit':'3MB', //上传文件的大小限制
'queueSizeLimit' : 25, //上传数量
'onSelectError':function(file, errorCode, errorMsg){ //返回一个错误,选择文件的时候触发
switch(errorCode) {
case -100:
alert("上传的文件数量已经超出系统限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!");
break;
case -110:
alert("文件 ["+file.name+"] 大小超出系统限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
break;
case -120:
alert("文件 ["+file.name+"] 大小异常!");
break;
case -130:
alert("文件 ["+file.name+"] 类型不正确!");
break;
}
},
'onFallback':function(){ //检测FLASH失败调用
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
'onUploadSuccess':function(file, data, response){ //上传到服务器,服务器返回相应信息到data里
if(data){
var dataObj=eval("("+data+")");//转换为json对象
//$('#uploadify').uploadify('upload')
}
}
});
}
/script
script
function snedUpLoad(){
var pid = $("#entityId").val(); //这个是我自己获取的自定义参数
var entityName = $("#entityName").val(); //同上
$("#uploadify").uploadify({ //初始化uploadify uploadify是input的id
//'debug' : false, //dubug模式 ,默认是false
'auto':false, //自动上传,就是控件自动上传,默认是true
'multi':true,
//'successTimeout':99999, //超时时间
'formData':{'pid':pid,'entityName':entityName },//我的参数列表
//'fileObjName':'uploadify', //服务器的属性名字
'uploader':'你的后台url地址;jsessionid=${pageContext.session.id}',//提交服务器路径,这里
说明下;jsessionid=${pageContext.session.id},这个是用于非IE内核的浏览器兼容的
'swf':"styles/uploadify.swf", //flash文件,官方的文件,引用上就是了
//'uploader': '/Home/Upload', //文件保存路径 用处不大
'buttonText': '文件上传', //按钮
//'height':'32', //浏览按钮的高度
//'width':'100', //浏览按钮的宽度
'fileTypeDesc':'支持的格式:', //在浏览窗口底部的文件类型下拉菜单中显示的文本
'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png', //允许上传的文件后缀
'fileSizeLimit':'3MB', //上传文件的大小限制
'queueSizeLimit' : 25, //上传数量
'onSelectError':function(file, errorCode, errorMsg){ //返回一个错误,选择文件的时候触发
switch(errorCode) {
case -100:
alert("上传的文件数量已经超出系统限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!");
break;
case -110:
alert("文件 ["+file.name+"] 大小超出系统限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
break;
case -120:
alert("文件 ["+file.name+"] 大小异常!");
break;
case -130:
alert("文件 ["+file.name+"] 类型不正确!");
break;
}
},
'onFallback':function(){ //检测FLASH失败调用
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
'onUploadSuccess':function(file, data, response){ //上传到服务器,服务器返回相应信息到data里
if(data){
var dataObj=eval("("+data+")");//转换为json对象
//$('#uploadify').uploadify('upload')
}
}
});
}
/script
[javascript]
$(function(){
snedUpLoad(); //jquery容器加载完运行我们的函数
})
$(function(){
snedUpLoad(); //jquery容器加载完运行我们的函数
})
[html]
input type="file" name="uploadify" id="uploadify" / //申明控件的容器
input type="file" name="uploadify" id="uploadify" / //申明控件的容器
前台页面代码基本就这样了,很好明白,至于后台逻辑和普通上传处理一致的,这里就不列出来的,最后上一张图给大家鉴赏一下
(tip:其实他的批量上传并不是一次全部提交处理的,他是一个一个依次提交,相当是一个for循环,所以后台处理的同时只是一个文件上传,即排序的处理上传文件,就和单个文件上传的代码一样,如果你早有后台的单文件上传代码就不用改,直接调用就行了,可以共用)
Java怎样实现跨服务器文件上传
另一台机器也要有处理文件上传的WEB程序,你可以参考Stream上传插件(支持HTML5和Flash两种方式上传)
Stream 上传插件
Stream 是解决不同浏览器上传文件的插件,是Uploadify的Flash版和Html5版的结合!
Stream 简介
Stream 是根据某网的文件上传插件加工而来,支持不同平台(Windows, Linux, Mac, Android, iOS)下,主流浏览器(IE7+, Chrome, Firefox, Safari, 其他)的上传工作,当然在Html5标准下,还支持文件的断点续传功能,有效解决大文件的Web上传问题!
主要特征
1. 源码完全开放,目前有Java、PHP、Perl三种后台语言实现
2. 支持HTML5、Flash两种方式(跨域)上传
3. 多文件一起上传
4. HTML5支持断点续传,拖拽等新特性
5. 兼容性好IE7+, FF3.6+, Chrome*,Safari4+,遨游等主流浏览器
6. 进度条、速度、剩余时间等附属信息
7. `选择文件的按钮`可以自定义
8. 简单的参数配置实现 灵活多变的功能
9. 支持文件夹上传(Chrome21+, Opera15+)
10. 支持自定义UI(V1.4+)
指定跨域上传就可以了
关于java常用上传插件和java中上传文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。