新聞中心
java 文件上傳的代碼,盡量詳細(xì)一點(diǎn)。。。
// 這是我寫的一個(gè)方法,里面只需要傳兩個(gè)參數(shù)就OK了,在任何地方調(diào)用此方法都可以文件上傳
成都創(chuàng)新互聯(lián)公司主營(yíng)雙塔網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App制作,雙塔h5微信平臺(tái)小程序開發(fā)搭建,雙塔網(wǎng)站營(yíng)銷推廣歡迎雙塔等地區(qū)企業(yè)咨詢
/**
* 上傳文件
* @param file待上傳的文件
* @param storePath待存儲(chǔ)的路徑(該路徑還包括文件名)
*/
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){
;
}
}
}
}
java 文件上傳下載的代碼
FileInputStream fin = new FileInputStream(new File("你的文件地址"));
OutputStream out = 你的目標(biāo)流地址,可以是Socket的Output流,也可以是http的Output流,等等
byte[] b = new byte[65535]; // 一次讀取多少字節(jié)
int read = -1;
while(-1 != (read = fin.read(b))){
out.write(b,0,read);
}
用Java的三大框架實(shí)現(xiàn)文件的上傳下載,求代碼啊,最好是分為action,service,serv
package cn.itcast.struts2.demo1;
import java.io.File;
import org.apache點(diǎn)抗 mons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
* 完成文件上傳 (不是解析上傳內(nèi)容,因?yàn)樯蟼鲀?nèi)容 由fileUpload攔截器負(fù)責(zé)解析)
*
* @author seawind
*
*/
public class UploadAction extends ActionSupport {
// 接收上傳內(nèi)容
// input type="file" name="upload" /
private File upload; // 這里變量名 和 頁(yè)面表單元素 name 屬性一致
private String uploadContentType;
private String uploadFileName;
public void setUpload(File upload) {
this.upload = upload;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
@Override
public String execute() throws Exception {
if (upload == null) { // 通過xml配置 required校驗(yàn)器 完成校驗(yàn)
// 沒有上傳文件
return NONE;
}
// 將上傳文件 保存到服務(wù)器端
// 源文件 upload
// 目標(biāo)文件
File destFile = new File(ServletActionContext.getServletContext()
.getRealPath("/upload") + "/" + uploadFileName);
// 文件復(fù)制 使用commons-io包 提供 工具類
FileUtils.copyFile(upload, destFile);
return NONE;
}
}
多文件上傳
package cn.itcast.struts2.demo1;
import java.io.File;
import org.apache點(diǎn)抗 mons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
* 支持多文件上傳
*
* @author seawind
*
*/
public class MultiUploadAction extends ActionSupport {
// 接收多文件上傳參數(shù),提供數(shù)組接收就可以了
private File[] upload;
private String[] uploadContentType;
private String[] uploadFileName;
public void setUpload(File[] upload) {
this.upload = upload;
}
public void setUploadContentType(String[] uploadContentType) {
this.uploadContentType = uploadContentType;
}
public void setUploadFileName(String[] uploadFileName) {
this.uploadFileName = uploadFileName;
}
@Override
public String execute() throws Exception {
for (int i = 0; i upload.length; i++) {
// 循環(huán)完成上傳
File srcFile = upload[i];
String filename = uploadFileName[i];
// 定義目標(biāo)文件
File destFile = new File(ServletActionContext.getServletContext()
.getRealPath("/upload" + "/" + filename));
FileUtils.copyFile(srcFile, destFile);
}
return NONE;
}
}
文章名稱:文件上傳下載java代碼 javaweb上傳下載文件
本文鏈接:http://www.dlmjj.cn/article/ddgosgj.html