java web怎么实现文件上传到服务器

java web怎么实现文件上传到服务器,第1张

/
上传到本地
@param uploadFile
@param request
@return
/
@RequestMapping("/upload")
@ResponseBody
public Map<String, Object> uploadApkFile(@RequestParam("uploadUpdateHistoryName") MultipartFile uploadFile,
>UI端:
1使磁盘目录结构在界面上以树形结构展现
2上传表单包含1中的磁盘目录树(普遍为下拉树),当用户上传文件前可以指定上传目录
服务端:
1遍历所在服务器磁盘,或通过远程调用遍历其他服务器磁盘
2处理UI端表单提交数据

不好实现,网上有方法说用FTP,但是不会用啊,找了一个
public static void forcdt(String dir){
InputStream in = null;
OutputStream out = null;
File localFile = new File(dir);try{//创建file类 传入本地文件路径
//获得本地文件的名字
String fileName = localFilegetName();
//将本地文件的名字和远程目录的名字拼接在一起
//确保上传后的文件于本地文件名字相同
SmbFile remoteFile = new SmbFile("smb://administrator:admin@10001/e$/aa/");
//创建读取缓冲流把本地的文件与程序连接在一起
in = new BufferedInputStream(new FileInputStream(localFile));
//创建一个写出缓冲流(注意jcifs-1315jar包 类名为Smb开头的类为控制远程共享计算机"io"包)
//将远程的文件路径传入SmbFileOutputStream中 并用 缓冲流套接
out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile+"/"+fileName));
//创建中转字节数组
byte[] buffer = new byte[1024];
while(inread(buffer)!=-1){//in对象的read方法返回-1为 文件以读取完毕
outwrite(buffer);
buffer = new byte[1024];}}catch(Exception e){
eprintStackTrace();}finally{try{//注意用完 *** 作io对象的方法后关闭这些资源,走则 造成文件上传失败等问题。!
outclose();
inclose();

这个转换肯定是会出错的,struts 的formFile跟zipFile没有直接关系,怎么能这么强制转化呢?
建议
1 把文件保存到一个临时目录(保存为zip文件)
2 读取这个文件
3 抽取想要的文件
4 把临时文件删除


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12589994.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存