前端上传文件后端到服务器,前端js上传文件 到后端接收文件
下面是前端js代碼:
File uploadenctype="multipart/form-data">
File:
下面是后端的java代碼:
package com.zj.sample;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
* Servlet implementation class Upload
*/
@WebServlet("/Upload")
public class Upload extends HttpServlet {
private static final long serialVersionUID = 1L;
private String uploadPath = "D:\\temp"; // 上傳文件的目錄
private String tempPath = "d:\\temp\\buffer\\"; // 臨時文件目錄
File tempPathFile;
/**
* @see HttpServlet#HttpServlet()
*/
public Upload() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
try {
// Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory();
// Set factory constraints
factory.setSizeThreshold(4096); // 設(shè)置緩沖區(qū)大小,這里是4kb
factory.setRepository(tempPathFile);// 設(shè)置緩沖區(qū)目錄
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
upload.setSizeMax(4194304); // 設(shè)置最大文件尺寸,這里是4MB
List items = upload.parseRequest(request);// 得到所有的文件
Iterator i = items.iterator();
while (i.hasNext()) {
FileItem fi = (FileItem) i.next();
String fileName = fi.getName();
if (fileName != null) {
File fullFile = new File(fi.getName());
File savedFile = new File(uploadPath, fullFile.getName());
fi.write(savedFile);
}
}
System.out.print("upload succeed");
} catch (Exception e) {
// 可以跳轉(zhuǎn)出錯頁面
e.printStackTrace();
}
}
public void init() throws ServletException {
File uploadFile = new File(uploadPath);
if (!uploadFile.exists()) {
uploadFile.mkdirs();
}
File tempPathFile = new File(tempPath);
if (!tempPathFile.exists()) {
tempPathFile.mkdirs();
}
}
}
web.xml 的配置
tom2
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
Upload
com.zj.sample.Upload
Upload
/home/fileupload
文件結(jié)構(gòu):
七牛云實(shí)現(xiàn)前端js上傳實(shí)現(xiàn)辦法
1.七牛云上傳前臺頁面 1.1 安裝相關(guān)包 npm install --save jquery@1.12.1 # 安裝jquery 1.2 index.html 引入qiniu.min.js < ...
前端js上傳文件后端C#接收文件
本文粗略的講下前端文件上傳和后端文件接收的原理 前端代碼 html
前端js上傳文件插件
1.?plupload文件上傳 2.ajaxfileupload文件上傳
框架基礎(chǔ):ajax設(shè)計方案(三)--- 集成ajax上傳技術(shù) 大文件/超大文件前端切割上傳,后端進(jìn)行重組
馬上要過年了,哎,回家的心情也特別的激烈.有錢沒錢,回家過年,家永遠(yuǎn)是舔舐傷口最好的地方.新的一年繼續(xù)加油努力. 上次做了前端的ajax的上傳文件技術(shù),支持單文件,多文件上傳,并對文件的格式和大小進(jìn)行 ...
前端通信:ajax設(shè)計方案(四)--- 集成ajax上傳技術(shù) 大文件/超大文件前端切割上傳,后端進(jìn)行重組
馬上要過年了,哎,回家的心情也特別的激烈.有錢沒錢,回家過年,家永遠(yuǎn)是舔舐傷口最好的地方.新的一年繼續(xù)加油努力. 上次做了前端的ajax的上傳文件技術(shù),支持單文件,多文件上傳,并對文件的格式和大小進(jìn)行 ...
SWFUpload多圖上傳、C#后端跨域傳文件帶參數(shù)
前幾天工作中用到了SWFUpload上傳圖片,涉及到跨域,因?yàn)榍岸藷o法實(shí)現(xiàn)跨域,所以只能把文件傳到后端進(jìn)行跨域請求,整理分享下. 效果圖 前端 html部分 ...
js上傳超大文件解決方案
需求: 支持大文件批量上傳(20G)和下載,同時需要保證上傳期間用戶電腦不出現(xiàn)卡死等體驗(yàn): 內(nèi)網(wǎng)百兆網(wǎng)絡(luò)上傳速度為12MB/S 服務(wù)器內(nèi)存占用低 支持文件夾上傳,文件夾中的文件數(shù)量達(dá)到1萬個以上,且包 ...
JS上傳大文件的解決方案
最近遇見一個需要上傳百兆大文件的需求,調(diào)研了七牛和騰訊云的切片分段上傳功能,因此在此整理前端大文件上傳相關(guān)功能的實(shí)現(xiàn). 在某些業(yè)務(wù)中,大文件上傳是一個比較重要的交互場景,如上傳入庫比較大的Excel表 ...
js上傳整個文件夾
文件夾上傳:從前端到后端 文件上傳是 Web 開發(fā)肯定會碰到的問題,而文件夾上傳則更加難纏.網(wǎng)上關(guān)于文件夾上傳的資料多集中在前端,缺少對于后端的關(guān)注,然后講某個后端框架文件上傳的文章又不會涉及文件夾. ...
隨機(jī)推薦
mysql 主從
1.首先 主庫創(chuàng)建二進(jìn)制數(shù)據(jù)訪問賬戶(賬戶:repl 密碼:repl@01) GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to repl@'% ...
十五天精通WCF——第五天 你需要了解的三個小技巧
一: 服務(wù)是端點(diǎn)的集合 當(dāng)你在開發(fā)wcf的時候,你或許已經(jīng)注意到了一個service可以公布多個endpoint,確實(shí)是這樣,在wcf中有一句很經(jīng)典的話,叫做“服務(wù)是端點(diǎn)的集合",就 比如說 ...
python爬蟲之git的團(tuán)隊(duì)協(xié)作
一.Git實(shí)踐: commit,push,pull,status,add基本是最常用的幾個命令. 1.首先我在github上創(chuàng)建了一個項(xiàng)目,然后我在本地的文件建立了一個普通的目錄(git_data). ...
【題解】Hanoi
題目描述 有三根柱A,B,C.在柱A上有N塊盤片,所有盤片都是大的在下面,小片能放在大片上面.并依次編好序號,現(xiàn)要將A上的N塊片移到C柱上,每次只能移動一片,而且在同一根柱子上必須保持上面的盤片比下面 ...
WKWebView實(shí)現(xiàn)網(wǎng)頁靜態(tài)資源優(yōu)先從本地加載
前言:最近微信的小游戲跳一跳特別的火,順便也讓h5小游戲更加的火熱.另外微信小程序,以及支付寶的小程序都是用H5寫的.無論是小游戲還是小程序,這些都需要加載更多的資源文件,處理更多的業(yè)務(wù).這些都對網(wǎng)頁 ...
npm 升降級
npm 降級 $ npm -v 6.4.1 $ sudo npm install npm@4 -g /usr/bin/npm -> /usr/lib/node_modules/npm/bin/n ...
虛擬機(jī)下 centos7 無法連接網(wǎng)絡(luò)
[root@localhost ~]# cd /etc/sysconfig/network-scripts [root@localhost network-scripts]# ls ifcfg-ens ...
[SoapUI] SoapUI可以做到些什么?功能有多強(qiáng)大?
SoapUI. The Swiss-Army Knife of Testing. Whether you’re a tester, developer, business analyst, or ma ...
react中使用react-transition-group實(shí)現(xiàn)動畫
css動畫的方式,比較局限,涉及到一些js動畫的時候沒法處理了.react-transition-group是react的第三方模塊,借住這個模塊可以更方便的實(shí)現(xiàn)更加復(fù)雜的動畫效果 https://g ...
總結(jié)
以上是生活随笔為你收集整理的前端上传文件后端到服务器,前端js上传文件 到后端接收文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Sibelius】制谱软件 (西贝柳斯
- 下一篇: Android studio JNI j