如何前端上傳檔案
1.前端formdata 傳參
2.後端 通過
前端:
<el-upload ref="upload" action="" class="upload-demo" :on-preview="handlePreview"
:on-remove="handleRemove" :before-upload="uploadImage" :file-list="fileList"
:on-change="filechange" style="display:inline-block">
<el-button slot="trigger" size="mini" type="primary" icon="el-icon-upload">匯入</el-button>
</el-upload>
<script>
for (var foda of this.fileList) {
formData.append("file", foda.raw);
}
var filename = this.fileList[0].name;
var that = this;
//1.匯入wps 檔案
$.ajax({
url: globedataserverurl + "/FileUploadData/FileUploadData.do",
type: 'POST',
async: false,
dataType: 'json',
data: formData,
processData: false,
contentType: false,
success: function (data) {
if (data == true) {
that.$message({
type: 'success',
message: '匯入成功11111!'
});
}
},
error(err) {
console.log(err);
that.$message.error('未獲取到資料');
}
});
</script>
依賴
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
後端:
package com.ev.projectserver.utils;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class FileUpLoad {
/**
* form表單上傳 通用檔案上傳介面
* @param request
* @param savePath 儲存路徑
* @return
*/
public static boolean formFileUpLoad(HttpServletRequest request, String savePath){
boolean isscloadfile=false;
//將上下文初始化給 CommonsMutipartResolver (多部分解析器)
CommonsMultipartResolver multipartResolver=new CommonsMultipartResolver(request.getServletContext());
//檢查form 是否有encype=" mutipart/form-data"
if(multipartResolver.isMultipart(request)){
//將request 變成多部分request
MultipartHttpServletRequest params=((MultipartHttpServletRequest) request);
List<MultipartFile> files = ((MultipartHttpServletRequest) request)
.getFiles("file");
//獲取檔名稱
String s=params.getParameter("path");
BufferedOutputStream stream = null;
if(s!=null&&s!="") savePath=savePath+"/"+s;
String sPath=savePath;//獲取檔名路徑
//判斷檔案是否
File file = new File(sPath);
//判斷上傳檔案的儲存目錄是否存在
if (!file.exists() && !file.isDirectory()) {
// System.out.println(sPath+"目錄不存在,需要建立");
//建立目錄
file.mkdirs();
}
for(MultipartFile multipartFile :files){
String fileName=multipartFile.getOriginalFilename();
int size= (int) multipartFile.getSize();
System.out.println(fileName+" "+size);
if(fileName.isEmpty()){
break;
}
File dest=new File(sPath+"/"+fileName);
//判斷檔案的父目錄是否存在,不存在則建立
if(!dest.getParentFile().exists()){
dest.getParentFile().mkdir();
}
try {
multipartFile.transferTo(dest);
isscloadfile=true;
} catch (IOException e) {
isscloadfile=false;
e.printStackTrace();
}
}
}
return isscloadfile;
}
/**
* 遍歷某個資料夾下的所有的檔案
* @param dname 需要遍歷資料夾名稱
* @return 檔名稱列表
*/
public static List<String> getOneDirectoryFiles(String dname){
List<String> fileList=new ArrayList<>();
File file=new File(dname);
if(file.exists() && file.isDirectory()){
File[] files= file.listFiles();
for(File fs:files){
fileList.add(fs.getName());
}
}
return fileList;
}
/**
* 遍歷某個資料夾,所有的檔案
* @param file
* @return
*/
public static void getDirectoryFiles(File file,List<String> fileList){
if(file.exists() &&file.isDirectory()){
File[] files= file.listFiles();
for(File fs:files){
if(fs.isDirectory()){
getDirectoryFiles(fs,fileList);
}else {
fileList.add(fs.getName());
}
}
}
}
}
相關文章
- git前端上傳專案忽略本地node_modules檔案Git前端
- 利用scp 遠端上傳下載檔案/資料夾
- vue前端上傳檔案到阿里雲oss的兩種方式,put檔案流上傳,multipartUpload直接上傳Vue前端阿里
- 如何將超大檔案傳輸給別人,超大檔案如何傳輸呢?
- 大檔案如何傳輸,大檔案的傳輸方式有哪些?
- .NET Core 如何上傳檔案及處理大檔案上傳
- 什麼是極速檔案傳輸,極速檔案傳輸如何進行大檔案傳輸
- Java如何上傳大檔案Java
- golang寫入檔案時,覆蓋前檔案(將前檔案清空)Golang
- 如何快速傳輸大檔案:4 種大檔案傳輸有效的方法
- AntD框架上傳檔案前校驗資訊:選擇檔案前進行內容校驗並提示框架
- 網站如何上傳超大檔案?網站
- 在終端上訪問網站和下載檔案網站
- 鐳速傳輸:如何快速傳輸大檔案?
- 請問上傳的檔案如何傳送post
- 如何分發大檔案、大檔案傳輸解決方案
- 如何快速傳輸大檔案,介紹大檔案快速方法
- php如何上傳txt檔案,並且讀取txt檔案PHP
- 1. 大檔案上傳如何斷點續傳斷點
- 如何安全共享和傳送大檔案?
- 如何提升大容量檔案上傳效能
- Java檔案上傳如何實現呢?Java
- uniapp如何使用分包,檔案上傳如何呼叫介面APP
- vue+springboot檔案上傳下載(前後端分離)VueSpring Boot後端
- windows powershell 如何讀取大檔案前10行Windows
- Linux伺服器上傳檔案傳送檔案Linux伺服器
- 單個檔案上傳和批量檔案上傳
- 使用Vue+go實現前後端檔案的上傳下載,csv檔案上傳下載可直接照搬VueGo後端
- win10電腦如何快速傳檔案 win10電腦互傳大檔案Win10
- 如何實現檔案高速傳輸,推薦鐳速高速檔案傳輸解決方案
- 移動端上傳分測平臺
- 檔案上傳
- 如何傳輸檔案到linux伺服器?Linux伺服器
- Python如何獲取當前執行檔案路徑?Python
- 定時ftp上傳,如何設定定時ftp上傳檔案FTP
- SpringMVC檔案上傳下載(單檔案、多檔案)SpringMVC
- Java大檔案上傳、分片上傳、多檔案上傳、斷點續傳、上傳檔案minio、分片上傳minio等解決方案Java斷點
- 檔案上傳之三基於flash的檔案上傳