Java实现FTP上传
程序员文章站
2022-06-08 20:13:51
...
一、前台form
要注意的事项:
1)form要有的属性:
2)前后台字段的对应要注意两个问题点
1.前台文件控件的id是什么,后台action里就要声明一个同名(大小写要相同)对File类型的属性。
如<input type="file" id="file2Ftp"/>对应的action里就要声明:
private File file2Ftp;getter/setter...
2.前台文件控件的id是什么,后台action里还要声明一个String类型的属性,名字格式是固定的:文件控件的id+FileName
如<input type="file" id="file2Ftp"/>对应的action里就要声明:
private String file2FtpFileName;getter/setter...
这个字段,是在form提交的时候(submit),由Struts2的FileUploadInterceptor自动包装的,目的大概是用来记录要上传的文件名(个人这样用,具体作用待考)。
二、后台FTP实现文件上传
需要的参数:FTP的IP地址、端口(默认21)、目录(FTP服务器上若没有该目录,则要创建目录)、用户名、密码。
注:用户要有读、写、建目录的权限。
1)将file2Ftp持久化,保存为一个InputStream变量里;
2)建立FTP链接;
3)将InputStream对象、目录信息上传至FTP
4)异常处理
要注意的事项:
1)form要有的属性:
2)前后台字段的对应要注意两个问题点
1.前台文件控件的id是什么,后台action里就要声明一个同名(大小写要相同)对File类型的属性。
如<input type="file" id="file2Ftp"/>对应的action里就要声明:
private File file2Ftp;getter/setter...
2.前台文件控件的id是什么,后台action里还要声明一个String类型的属性,名字格式是固定的:文件控件的id+FileName
如<input type="file" id="file2Ftp"/>对应的action里就要声明:
private String file2FtpFileName;getter/setter...
这个字段,是在form提交的时候(submit),由Struts2的FileUploadInterceptor自动包装的,目的大概是用来记录要上传的文件名(个人这样用,具体作用待考)。
二、后台FTP实现文件上传
需要的参数:FTP的IP地址、端口(默认21)、目录(FTP服务器上若没有该目录,则要创建目录)、用户名、密码。
注:用户要有读、写、建目录的权限。
1)将file2Ftp持久化,保存为一个InputStream变量里;
2)建立FTP链接;
3)将InputStream对象、目录信息上传至FTP
4)异常处理