1. 程式人生 > >Struts檔案上傳與下載詳解 _上傳多個檔案

Struts檔案上傳與下載詳解 _上傳多個檔案


     在上一篇中給大家列出的單個檔案的上傳,那麼這一篇咱們講講上傳多個檔案改怎麼作呢?由於過程和上傳單個檔案的類似,所以在這裡不細說,相信大家都能看懂,看不懂的可以在評論區留言,我看到之後會及時回覆的!!

    咱們開門見山的來吧

1.建立個jsp表單頁面,主要就是上傳多個檔案:

  <body>
   
    
    <s:form action="upload.action" method="post" enctype="multipart/form-data">
    	<s:textfield name="file" label="標題"/><br/>
    	<%-- <s:file name="upload" label="選擇檔案"/><br/> --%>
    	<s:file name="mupload" label="選擇檔案1"/><br/>
    	<s:file name="mupload" label="選擇檔案2"/><br/>
    	<s:file name="mupload" label="選擇檔案3"/><br/>
    	<s:submit name="submit" value="上傳檔案"/>
    </s:form>
  </body>

2.我們接下來去寫一下UploadAction裡面:
package org.web;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {
	
	
	private File[] mupload;                       //封裝上傳檔案的屬性(多個)
	private String[] muploadContentType;          //封裝上傳檔案的型別(多個)
	private String[] muploadFileName;             //封裝上傳檔案的名稱(多個)
	private String msavePath;                     //獲取檔案上傳的路徑(多個)

	
	
	//實現檔案的多個上傳
	public String execute() throws IOException{
		byte[] buffer=new byte[1024];
		for (int i = 0; i < mupload.length; i++) {
			//獲取物理路徑"/upload"
			String path=ServletActionContext.getServletContext().getRealPath(savePath);
			FileInputStream fis=new FileInputStream(getMupload()[i]);
			FileOutputStream fos=new FileOutputStream(path+"/"+getMuploadFileName()[i]);
			int length=fis.read(buffer);
			while (length>0) {
				//每次寫入length長度的內容
				fos.write(buffer,0,length);
				length=fis.read(buffer);
			}
			fis.close();
			fos.flush();
			fos.close();
		}
		return SUCCESS;
	}
	
	
	
	public File[] getMupload() {
		return mupload;
	}
	public void setMupload(File[] mupload) {
		this.mupload = mupload;
	}
	public String[] getMuploadContentType() {
		return muploadContentType;
	}
	public void setMuploadContentType(String[] muploadContentType) {
		this.muploadContentType = muploadContentType;
	}
	public String[] getMuploadFileName() {
		return muploadFileName;
	}
	public void setMuploadFileName(String[] muploadFileName) {
		this.muploadFileName = muploadFileName;
	}
	public String getMsavePath() {
		return msavePath;
	}
	public void setMsavePath(String msavePath) {
		this.msavePath = msavePath;
	}
	
	
}

3.nice,這裡面已經搞定,咱們就移步到struts.xml裡面配置一下就可以了
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>

	
	
	<package name="default" namespace="/" extends="struts-default">
		
		
		<!-- 檔案上傳 -->
		<action name="upload" class="org.web.UploadAction">
			<param name="savePath">/upload</param>
			<result name="success">/upload_suc.jsp</result>
		</action>
		
		
	</package>
</struts>
    最後釋出執行就OK了。

相關推薦

Struts檔案下載 _檔案

     在上一篇中給大家列出的單個檔案的上傳,那麼這一篇咱們講講上傳多個檔案改怎麼作呢?由於過程和上傳單個檔案的類似,所以在這裡不細說,相信大家都能看懂,看不懂的可以在評論區留言,我看到之後會及時

JavaWeb之檔案下載

檔案上傳 檔案上傳概述 實現web開發中的檔案上傳功能,需完成如下二步操作: (1)在web頁面中新增上傳輸入項; (2)在servlet中讀取上傳檔案的資料,並儲存到本地硬碟中。 如何在web頁面中新增上傳輸入項?<input type

JAVA的檔案下載

1、過濾器案例:通用字符集編碼過濾器 1.1 表單提交中文資料到servlet裡面會有亂碼,之前需要在每個servlet裡面都需要處理     編寫過濾器,把設定中文的程式碼寫到過濾器裡面,在每個servlet裡面不需要寫處理程式碼 1.2 增強類中的方法有三種方式 (1)

PHP檔案操作例項(包含檔案型別MIME驗證)

本文例項分析了PHP檔案上傳操作。分享給大家供大家參考,具體如下: 檔案上傳 發生在瀏覽器向伺服器發出的請求中。 檔案,對於瀏覽器來講,就是表單中的一個特殊型別的資料而已。 瀏覽器表單中的資料,兩種型別: 字串型別(位元組流編碼) 檔案型別(二進位制編碼),檔案是表單資料中

eclipse安裝git,下載

git的使用意義 為github而生:使用建議:when you upload file or edit,do commit and  描述一下 resons;fork sb's work to find and fix the problem and then pull

Android一套程式碼打不同的包工程配置_-gradle基本知識介紹

有這樣一個場景:一個專案正在開發,後來領導說有另外一個專案跟當前專案很像,只要在上面改些東西就可以了,然後你一聽立刻把程式碼複製一份在上面改,改完以後領導又說要加一些功能,兩個專案都要加,累死累活做完以後領導又說,後面可能還會有第三個專案,只需要在上面改點東西就可以了, 並且後面加功能這三個專案都要

使用pscp命令Linux檔案下載

(一)上傳    2.開始→執行→cmd進入到dos模式輸入以下命令  以下是程式碼片段:  pscp D:\java\apache-tomcat-5.5.27\webapps\[email protected]:/home/dev    3.輸入密碼

struts檔案下載

struts的檔案上傳與下載後臺程式碼 package interceptor; import java.io.File; import java.io.IOException;import org.apache.commons.io.FileUtils; import web.Base

Struts 2 檔案下載

單個檔案上傳 表單設定enctype="multipart/form-data“ 表單設定method="POST“ <s:file name="f1" label="logo"/> 多檔案上傳: 把所有的屬性改為陣列即可。 private File []f1;

Struts 檔案下載

一、struts框架提供了檔案的上傳和下載功能,簡化了很多的程式碼 二、檔案的上傳 1.前端用struts框架中的ognl標籤 <%@ page language="java" contentType="text/html; charset=UTF-8"

ossutil命令檔案到阿里雲oss,使用Shell指令碼實現資料的自動下載Bucket物件儲存

安裝ossutil yum -y install wget wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/50452/cn_zh/1524643963683/ossutil64 mv

SpringBoot檔案下載檔案(圖文

最近在學習SpringBoot,以下是最近學習整理的實現檔案上傳下載的java程式碼: 1、開發環境: IDEA15+ Maven+JDK1.8 2、新建一個maven工程: 3、工程框架 4、pom.xml檔案依賴項 <proje

Struts檔案下載

目錄 單檔案上傳  上傳多檔案 單檔案上傳  首先在頁面 <!-- Struts2的檔案上傳標籤 --> <s:form action="FileUpAction" namespace="/" method="POST" enctyp

javaweb基礎整理隨筆-----下載步驟

  這次整理的是上傳與下載的原生程式碼解析: 上傳:1.對頁面的要求:enctype="multipart/form-data" method="post"           <input type="file" name

struts2實現檔案下載功能

一、Demo介紹 基於struts2框架,實現多檔案的上傳和下載功能。 實現原理圖: 部分介面圖: 上傳成功及下載頁面: 二、主要程式碼 uploadFile.jsp:在form表單中包含一個文字框(上傳使用者的姓名)和兩個檔案上傳選項. <%@

Spring Boot——檔案下載

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac

java web檔案下載

jsp程式碼(檔案上傳) <form id="upLoad" method="post">

struts2 檔案下載

檔案上傳: 三種上傳方案 虛擬路徑與真實路徑 /upload copyFile與copydirectory 檔案上傳的三種方案 1.將上傳的檔案以二進位制的形式存放到資料庫 oa系統 activiti工作流框架 2.將檔案上傳到檔案伺服器(硬碟足夠大)中 3.上傳到t

Struts下載

檔案上傳: 1.上傳到資料庫(oa) 2.上傳到檔案伺服器(一般記憶體較大) 3.上傳到普通伺服器(這裡使用tomcat) 上傳: 例子(普通伺服器 io包): 首先在你的子控制器中宣告這三個變數提供get/set(注意file這個變數名指的是你從jsp頁面跳轉的na

java:檔案下載

一.檔案上傳 1.注意: jsp提交方式必須為post 必須採用複雜格式 : enctype=“multipart/form-data” <form action="/upload" method="post" enctype="multipart/form