jfinal多文件上传
必须是可以的啊, 配合 jsch.jar(ftp文件上传使用) 使用。
Controller 源码中已经提供两个获取 批量上传的文件 方法
java">
publicList<UploadFile>getFiles(StringuploadPath,intmaxPostSize){
if(==false)
request=newMultipartRequest(request,uploadPath,maxPostSize);
return((MultipartRequest)request).getFiles();
}
publicList<UploadFile>getFiles(StringuploadPath){
if(==false)
request=newMultipartRequest(request,uploadPath);
return((MultipartRequest)request).getFiles();
}
获取 到 List<UploadFile> 文件集合之后, 再使用 jsch.jar 进行ftp文件上传到其他服务器
JSchjsch=newJSch();
SessionsshSession=jsch.getSession(this.username,this.host,this.port);
sshSession.setPassword(password);
PropertiessshConfig=newProperties();
sshConfig.put("StrictHostKeyChecking","no");
sshSession.setConfig(sshConfig);
sshSession.connect(20000);
Channelsftp=sshSession.openChannel("sftp");
sftp.connect();
。。。这个网络搜一下,代码很多,这里就不在啰嗦了
❷ jfinal整合hdfs文件上传时如何获取真实路径
网页链接
getFile文件上传
Controller提供了getFile系列方法支持文件上传。
特别注意:如果客户端请求为multipart request(form表单使用了enctype="multipart/form-data"),那么必须先调用getFile系列方法才能使getPara系列方法正常工作,因为multipart request需要通过getFile系列方法解析请求体中的数据,包括参数。同样的道理在Interceptor、Validator中也需要先调用getFile。
文件默认上传至项目根路径下的upload子路径之下,该路径称为文件上传基础路径。可以在 JFinalConfig.configConstant(Constants me)方法中通过me.setBaseUploadPath(baseUploadPath) 设置文件上传基础路径,该路径参数接受以”/”打头或者以windows磁盘盘符打头的绝对路径,即可将基础路径指向项目根径之外,方便单机多实例部署。当该路径参数设置为相对路径时,则是以项目根为基础的相对路径。
上面是注意事项,
代码:
UploadFileuf=getFile();
Filef=uf.getFile();
Stringpath=f.getPath();
//或者Stringpath=uf.getUploadPath()+File.separator+uf.getFileName();
❸ JFinal如何实现图片上传
public void uploadpic(){
UploadFile upfile = getFile();//JFinal规定getFile()必须最先执行
File file = upfile.getFile();
String filename = file.getName();
String delfilename = filename;
if(filename!=null && !filename.equals("")){
filename = new SimpleDateFormat("yyyyMMddkkmmss").format(new Date())+filename;
/**
* 新保存的位置
*/
String path = getRequest().getSession().getServletContext()
.getRealPath("/");
String newPath = "/media/file/";//自定义目录 用于存放图片
/**
* 没有则新建目录
*/
File floder = new File(path + newPath);
if (!floder.exists()) {
floder.mkdirs();
}
/**
* 保存新文件
*/
FileInputStream fis = null;
FileOutputStream fos = null;
try{
File savePath = new File(path + newPath + filename);
if(!savePath.isDirectory()) savePath.createNewFile();
fis = new FileInputStream(file);
fos = new FileOutputStream(savePath);
byte[] bt = new byte[300];
while (fis.read(bt, 0, 300) != -1) {
fos.write(bt, 0, 300);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(null!=fis) fis.close();
if(null!=fos) fos.close();
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 删除原图片,JFinal默认上传文件路径为 /upload(自动创建)
*/
File delFile = new File(path+"/upload/"+delfilename);
if(delFile.exists()){
delFile.delete();
}
setAttr("msg",filename);
setAttr("t",1);
}else{
setAttr("t",0);
}
renderJson();
}
❹ webuploader 怎么实现多文件上传
和普通的上传请求一样,你可以使用commons-upload来解析请求,spring的话可以通过action的注解参数来获取上传的文件,jfinal可以用getFile()方法来获取。
如果你想简单,可以以字节流的形式发送文件,webuploder有个参数sendAsBinary ,将其设置为true,这样你java后端用request.getInputStream()即可获取文件的字节流,文件名等参数你可以通过request.getParameter()方法获得。推荐你这么做,最简单的方式。
❺ jfinal中对多文件同时上传是怎么解决的
JFinal约定,如果保存路径是以"/"或者"X:/"打头使用的是绝对路径,否则使用相对路径,默认的相对路径为WebRoot/upload,这个相对路径还可以通过me.setUploadedFileSaveDirectory()来设置
❻ jfinal怎么做文件上传
一定要多看官方手册文档!!!!
一定要多看官方手册文档!!!!
一定要多看官方手册文档!!!!
getFile文件上传
Controller提供了getFile系列方法支持文件上传。
特别注意:如果客户端请求为multipart request(form表单使用了enctype="multipart/form-data"),那么必须先调用getFile系列方法才能使getPara系列方法正常工作,因为multipart request需要通过getFile系列方法解析请求体中的数据,包括参数。同样的道理在Interceptor、Validator中也需要先调用getFile。
文件默认上传至项目根路径下的upload子路径之下,该路径称为文件上传基础路径。可以在 JFinalConfig.configConstant(Constants me)方法中通过me.setBaseUploadPath(baseUploadPath) 设置文件上传基础路径,该路径参数接受以”/”打头或者以windows磁盘盘符打头的绝对路径,即可将基础路径指向项目根径之外,方便单机多实例部署。当该路径参数设置为相对路径时,则是以项目根为基础的相对路径。
上面是注意事项,
代码:UploadFile uf = getFile();File f = uf.getFile();String path = f.getPath();//或者 String path = uf.getUploadPath() + File.separator + uf.getFileName();
❼ jfinal上传大文件 如何断点续传
点量Http、FTP多线程断点续传下载组件(下载DLL)内核源码使用高效的c++代码编写,提供标准的动态链接库(DLL),可供C/C++、Delphi、C#、Java、VB、PowerBuilder、易语言等语言和各常用开发环境调用。
❽ jfinal如何实现文件上传到非工程目录下并可
1 , 设置全局
@Override
public void configConstant(Constants me) {
me.setBaseUploadPath(String baseUploadPath)
}
/**
*Setfilebaseuploadpath.
*设置文件上传保存基础路径,当路径以"/"打头或是以windows磁盘盘符打头,
*则将路径设置为绝对路径,否则路径将是以应用根路径为基础的相对路径
*<pre>
*例如:
*1:参数"/var/www/upload"为绝对路径,上传文件将保存到此路径之下
*2:参数"upload"为相对路径,上传文件将保存到PathKit.getWebRoot()+"/upload"路径之下
*</pre>
*/
publicvoidsetBaseUploadPath(StringbaseUploadPath){
if(StrKit.isBlank(baseUploadPath)){
("baseUploadPathcannotbeblank.");
}
this.baseUploadPath=baseUploadPath;
}
2 , 使用Java的文件拷贝或者移动
UploadFile.getFile().renameTo(newFile);
❾ jfinal上传怎样改变上传文件的名称
在firefox上,input(type=file)默认获取到的value值就是文件名。
在IE上,input(type=file)默认获取到的value值是路径。
因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。