Java代碼實現(xiàn)文件上傳
10年積累的成都做網(wǎng)站、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有鲅魚圈免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
FormFile?file=manform.getFile();?
String?newfileName?=?null;
String?newpathname=null;
String?fileAddre="/numUp";
try?{
InputStream?stream?=?file.getInputStream();//?把文件讀入
String?filePath?=?request.getRealPath(fileAddre);//取系統(tǒng)當(dāng)前路徑
File?file1?=?new?File(filePath);//添加了自動創(chuàng)建目錄的功能
((File)?file1).mkdir();???
newfileName?=?System.currentTimeMillis()
+?file.getFileName().substring(
file.getFileName().lastIndexOf('.'));
ByteArrayOutputStream?baos?=?new?ByteArrayOutputStream();
OutputStream?bos?=?new?FileOutputStream(filePath?+?"/"
+?newfileName);
newpathname=filePath+"/"+newfileName;
System.out.println(newpathname);
//?建立一個上傳文件的輸出流
System.out.println(filePath+"/"+file.getFileName());
int?bytesRead?=?0;
byte[]?buffer?=?new?byte[8192];
while?((bytesRead?=?stream.read(buffer,?0,?8192))?!=?-1)?{
bos.write(buffer,?0,?bytesRead);//?將文件寫入服務(wù)器
}
bos.close();
stream.close();
}?catch?(FileNotFoundException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}
public class FileUpLoad extends ActionSupport{
//"多文件上傳就用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;
}
}
// 這是我寫的一個方法,里面只需要傳兩個參數(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){
;
}
}
}
}
當(dāng)前名稱:百度上傳文件java代碼 java file上傳
標(biāo)題URL:http://redsoil1982.com.cn/article44/doediee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、電子商務(wù)、靜態(tài)網(wǎng)站、虛擬主機(jī)、網(wǎng)站改版、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)