public class FileUpLoad extends ActionSupport{
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了巴南免費(fèi)建站歡迎大家使用!
//"多文件上傳就用list就可以了private ListFile file;"
private File file;
//上傳文本的name
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
private String fileContentType;
//上傳的文件類型。
public String getFileContentType() {
return fileContentType;
}
public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}
//獲取上傳文件的名稱
private String fileFileName;
public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}
public String upload() throws Exception
{
//獲取文件上傳路徑
String root=ServletActionContext.getRequest().getRealPath("/upload");
InputStream is=new FileInputStream(file);
String.substring(fileFileName.indexOf("."));//截取上傳文件的后綴。便于新定義名稱。.jpg
System.out.println(name);
File descFile=new File(root,新定義的文件名稱+fileFileName.indexOf("."));
OutputStream os=new FileOutputStream(descFile);
byte[] buffer=new byte[1024];
int length=0;
while(-1!=(length=(is.read(buffer))))
{
os.write(buffer, 0, length);
}
is.close();
os.close();
return SUCCESS;
}
}
// 這是我寫的一個(gè)方法,里面只需要傳兩個(gè)參數(shù)就OK了,在任何地方調(diào)用此方法都可以文件上傳
/**
* 上傳文件
* @param file待上傳的文件
* @param storePath待存儲的路徑(該路徑還包括文件名)
*/
public void uploadFormFile(FormFile file,String storePath)throws Exception{
// 開始上傳
InputStream is =null;
OutputStream os =null;
try {
is = file.getInputStream();
os = new FileOutputStream(storePath);
int bytes = 0;
byte[] buffer = new byte[8192];
while ((bytes = is.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytes);
}
os.close();
is.close();
} catch (Exception e) {
throw e;
}
finally{
if(os!=null){
try{
os.close();
os=null;
}catch(Exception e1){
;
}
}
if(is!=null){
try{
is.close();
is=null;
}catch(Exception e1){
;
}
}
}
}
1、使用form表單提交
但是這里要記得添加enctype屬性,這個(gè)屬性是指定form表單在向服務(wù)器提交之前,對表單數(shù)據(jù)如何進(jìn)行編碼。 文件域中的name="file"屬性的值,需要和后臺接收的對象名一致,不然接收不到。
2、使用ajax提交文件
使用ajax提交首先引入jquery-form.js文件才能實(shí)現(xiàn),接著使用上面的html代碼,加入以js則可以實(shí)現(xiàn)ajax提交文件。
3、使用FormData對象
4、后臺接收文件,框架采用的Spring Boot 微服務(wù)框架,因?yàn)樵摽蚣艽罱ê芊奖闼圆捎眠@個(gè)框架寫例子。