重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
代码是在客户端运行的,你直接用new file 然后输出流写在服务器的路径里面不就可以了 吗!服务器路径就是加ip的那种。也可以在服务器段把输入流路径里写客户端的路径!
专注于为中小企业提供成都做网站、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业千山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
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代码实现文件上传
FormFile file=manform.getFile();
String newfileName = null;
String newpathname=null;
String fileAddre="/numUp";
try {
InputStream stream = file.getInputStream();// 把文件读入
String filePath = request.getRealPath(fileAddre);//取系统当前路径
File file1 = new File(filePath);//添加了自动创建目录的功能
((File) file1).mkdir();
newfileName = System.currentTimeMillis()
+ file.getFileName().substring(
file.getFileName().lastIndexOf('.'));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStream bos = new FileOutputStream(filePath + "/"
+ newfileName);
newpathname=filePath+"/"+newfileName;
System.out.println(newpathname);
// 建立一个上传文件的输出流
System.out.println(filePath+"/"+file.getFileName());
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);// 将文件写入服务器
}
bos.close();
stream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
二楼不知道在说什么
你图片在本地的,代码在服务器上运行的,本机测试做多了吧。。。。。
我也遇到了这个问题我的是高拍仪
也是只能通过input
type=file来实现
不过这个标签是只读的
不能给他用JS赋值
所以要用户点一下浏览把刚才拍的图片选中手
以File的形势传到Action中,这显然不行的,所以现在想了2个方案
第一个就是用高拍仪的接口
有返回图片Base64编码的
你可以看一下你的扫描仪是否也有提供
如果没有的话可以在服务器端架设一个FTP
用FTP上传
是在不行
用VB或者VC写控件吧。。。