JspFactory factory = JspFactorygetDefaultFactory();
PageContext pageContext = null;
JSONObject obj = new JSONObject();
String fileName = UUIDrandomUUID()toString();
try {
initFile();
pageContext = factorygetPageContext(this, request, response, "", true, 8192, true);
suinitialize(pageContext);
int size = sugetSize();
if(size>=400){
objput("state", false);
objput("msg", "不能大于400KB");
}else{
suupload();
Files file = sugetFiles(); //必须在upload后才有值
//此为得到文件的扩展名,getFile(0)为得到唯一的一个上传文件
String ext=filegetFile(0)getFileExt();
String name = fileName+""+ext;
sugetFiles()getFile(0)saveAs("report/upload/"+name);
WebConstantsREPORT_LOGO_URL="report/upload/"+name;
objput("fileName", name);
objput("state", true);
objput("ext", ext);
}
} catch (Exception e) {
objput("state", false);
objput("msg",etoString());
eprintStackTrace();
}
PrintWriter out = responsegetWriter();
outprint(obj);
outflush();
接收到文件后就在tomcat\webapps\项目\report\upload下面
你好!
另一台机器也要有处理文件上传的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+, FF36+, Chrome,Safari4+,遨游等主流浏览器
6 进度条、速度、剩余时间等附属信息
7 `选择文件的按钮`可以自定义
8 简单的参数配置实现 灵活多变的功能
9 支持文件夹上传(Chrome21+, Opera15+)
10 支持自定义UI(V14+)
指定跨域上传就可以了
这些都是小鸟云的工程师告诉我的,建议你可以试试小鸟云
我讲下我的实现思路:
1,你有一台作为接收,文件上传至此, 得到file1;
2,file1,输出到另一台机器 建议采用(ftp协议),至于是同步还是异步执行无关紧要。
3,其他逻辑。可以通过FTP的方式上传到指定服务器
希望我团的答案能给您一定的帮助~祝您早日解决问题~!
SOSO
~你敢告诉我,我的回答哪不符合规定了么??不告诉我原因我怎么改???FormFile ff = uploadFormgetPic();//先定义一个uploadForm,里有get和set方法
String fileName = ffgetFileName();//文件原名
FileOutputStream fos = null;
//得到文件数据(数组)
byte[] fileData = ffgetFileData();
//得到服务器硬盘文件夹的绝对路径
ServletContext application = thisgetServlet()getServletContext();
String realPath = applicationgetRealPath("/");
fos = new FileOutputStream(realPath+"xxxxlsx");//名称自己起或者使用原文件名
foswrite(fileData);
fosclose();
//上面代码在你的webusermanageraction里
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)