文件夹内多文件上传到服务器

文件夹上传至服务器
希望可以给你一点帮助

直接上代码
jsp页面

<div style="text-align:center; vertical-align:middel" id="uploadFile">
<input type="file" name="file" id="file" multiple="multiple"
webkitdirectory /> <br> <br>
<button id="upload" onclick="f_upload()">上传</button>
&nbsp;&nbsp;
<button id="btnBack">返回</button>
</div>
1
2
3
4
5
6
7
function f_upload(){
var url =’<%=rootPath%>/module/impExp/ImpExpAction.do?method=dispatchImpt&code=<%=code%>’;
var paths = document.getElementById(“file”).files;
if(paths.length==0) {
alert(“请选择文件”);
return;
}
var formData=new FormData();
for(var i = 0;i<paths.length;i++){
var file=paths[i];
formData.append(paths[i].name,paths[i]);
}
$.ajax({
url : url,
cache : false,
data : formData,
type : ‘POST’,
processData : false,
contentType : false,
success : function(flag) {
if (flag != “0”) {
alert(“上传成功”);
javascript: history.back(-1);
}else{
alert(“上传失败!!!”)
}
}
});
}
//返回
function f_back() {
javascript: history.back(-1);
}

后端代码
public ActionForward dispatchImpt(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
/*
* 方法二 :
*/
ResourceBundle rb = ResourceBundle.getBundle(“config”);
String userDataHomeDir = rb.getString(“USER_DATA_HOME_DIR”) + rb.getString(“AFFIX_DIR”);

String oss = commonUtil.getCloudPath();

String codeNumber =commonUtil.getCodeNumber();

>
String code = request.getParameter("code")==null?"":request.getParameter("code");
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
request.setCharacterEncoding("utf-8");
MultipartHttpServletRequest multiRequest = multipartResolver.resolveMultipart(request);
//取得request中的所有文件名
Iterator<String> iter = multiRequest.getFileNames();
while(iter.hasNext()){
//取得上传文件
MultipartFile file = multiRequest.getFile(iter.next());
if(file!=null){
//取得当前上传文件的文件名称
String myFileName = file.getOriginalFilename();
//如果名称不为“”,说明该文件存在,否则说明该文件不存在
if(myFileName.trim()!=""){
//重命名上传后的文件名
String fileName = file.getOriginalFilename();
//定义文件上传路径
String dirPath=userDataHomeDir+codeNumber+code;
//阿里云存放地址
String ossPath = oss+codeNumber+code+"/"+fileName.substring(0,fileName.lastIndexOf("."))+"/"+fileName;
File dir = new File(dirPath);
if(!dir.exists()){
dir.mkdirs();
}
File localFile = new File(dir,"/"+fileName);
file.transferTo(localFile);
String uploadpath =dirPath+"/"+fileName;
System.out.println("ossPath======="+ossPath);
System.out.println("localFile==="+localFile);
System.out.println("阿里云存放路径==="+uploadpath);

}
}
}

CommonUtil.deleteDir(bd.toString());
return null;
}
---------------------

原文地址:https://www.cnblogs.com/hyhy904/p/10958358.html

时间: 2024-08-29 17:23:32

文件夹内多文件上传到服务器的相关文章

PHP复制文件夹及文件夹内的文件

//1.取被复制的文件夹的名字://2.写出新的文件夹的名字://3.调用此函数,将旧.新文件夹名字作为参数传递://4.如需复制文件夹内的文件,第三个参数传1,否则传0: public function xCopy($source, $destination, $child = 1){//用法: // xCopy("feiy","feiy2",1):拷贝feiy下的文件到 feiy2,包括子目录 // xCopy("feiy","fe

用nodeJs实现文件夹内所有文件的重命名

nodeJs中我比较感兴趣的有一个地方就是fs文件系统. 今天就用nodeJs实现了一个重命名文件夹内所有文件的脚本. 命名可以自定义. 'use strict';var fs = require('fs');var i = 0;var $ = "$";//setting areavar directory = './files';var format = 'test'+$;//setting areafunction rename(fileName,formation){ fs.re

利用nodejs监控文件变化并使用sftp上传到服务器

很久没写博客了,因为最近在用react+express做一个自己的工具型网站(其实就是夺宝岛抢拍器) 然后因为经常要改动,而且又要放到服务器上进行测试.总是要webpack,然后手动把文件上传上去,不胜其烦,索性搜索了下,直接写个能检测文件变化并自动进行上传的脚本好了. 首先,我们使用npm 安装两个别人封装好的模块. npm install ssh2-sftp-client npm install gaze 第一个模块的作用是sftp上传文件, 第二个模块的作用就是监听文件变化了.当然,你也可

将根文件夹内的所有子文件夹内的文件进行按比例分类。。。。。by Matlab

之所以写这段代码,是为了分类文件夹内的所有文件,因为做训练用的数据真的太多了,所以,写了一段Matlab,让其自动按比例分类. main: 1 %文件夹路径,不同设备,读取字符不同 2 clear all 3 clc 4 5 %% 选择要分的文件夹路径/存放路径/文件夹名称 6 fprintf('选择Train文件夹\r'); 7 pause(2) 8 path=uigetdir('选择待分析的文件夹'); 9 if path ==0 10 fprintf('取消选择文件夹') 11 end 1

.NET网站的App_Data文件夹内日志文件无法直接访问解决方案

开发网站的时候,记录下错误以及业务执行日志是非常有必要的.我们使用log4net作为我们的.NET网站的日志记录框架,日志文件格式为.txt,保存在App_Data目录下. 记录下日志后,我们在调试网站的以及检测网站执行进度过程中经常需要对日志进行查看,很古板的方式就是打开网站服务器,进入App_Data文件夹找到日志文件,再用记事本打开,这样查看日志的方式效果特别低,于是便想到直接通过网址访问日志文件,结果发现访问因权限不足被拒绝.网上百度了N种方法,结果发现改文件权限并没有什么卵用. 但是功

HTML5+PHP 实现 保存文件夹相对路径 递归上传 在线浏览

这是最近花了一周多手工马出来的,前段用了MetroUI,后台是ThinkPHP,数据库MySQL,先看看效果吧.由于项目涉及敏感词汇我就码了一下. 1.选择要上传的文件夹,上传以后默认都在根目录下. 2.看看后台管理界面的效果,实现多级目录,可以显示图片内容,返回上一级 正文: 谈到文件夹上传,应该都不觉得难,一个input框加上一个php后台就够了.但是这次的需求说起来容易,但是其实还挺难的.要把一个文件夹的文件递归上传,保存目录结构,能够在浏览器里展示出来,其实是三个过程. [1]上传时要保

遍历文件夹内所有文件

File file = new File("文件夹路径"); File[] tempList = file.listFiles(): for (int i = 0; i < tempList.length; i++) { System.out.println(tempList[i].getName());}

PHP获取文件夹内所有文件包括子目录文件的名称或路径

/* * new getFile($_dir[,$_emptyDir,$_fileType]); * @parma $_dir 是目录名称 * @parma $_emptyDir 是否获取空文件夹,选填,默认不获取,true则获取空文件夹 * @parma $_fileType 获取文件名称的类型,选填,默认获取只文件名称,true则获取带有路径的文件名称 **/ class getFiles { private $_dir; private $_emptyDir; private $_file

VBA 获取文件夹内的文件列表

Private strFiles(20) Private Sub GetFiles(ByVal strFolder As String, ByVal ty As String) ' 获取文件列表 If iFiles = 0 Then        Erase strFiles    End If        If iFiles > 20 Then        Exit Sub    End If        Dim FilePaths, FilePath As String