Beri nama beberapa objek bidang file dengan nama yang sama di halaman upload.jsp, sehingga beberapa bidang file dapat diurai menjadi sebuah array dalam tindakan bidang diuraikan menjadi Tiga variabel yang sesuai, sehingga beberapa bidang file berhubungan dengan tiga larik, di mana ukuran setiap larik adalah jumlah bidang file. Kode halaman jsp adalah sebagai berikut:
</bentuk>
Tindakan yang sesuai melintasi semua bidang file secara berurutan, dan kemudian menghasilkan aliran file masukan yang sesuai. Aliran file keluaran menambahkan aliran file keluaran yang sesuai untuk menyimpan file di jalur penyimpanan server yang ditentukan. Pada saat yang sama, tentukan secara dinamis jalur penyimpanan file di server.
Kode tindakannya adalah sebagai berikut:
impor java.io.File;
impor java.io.FileInputStream;
impor java.io.FileOutputStream;
import org.apache.struts2.ServletActionContext;
impor com.opensymphony.xwork2.ActionSupport;
kelas publik UploadAction memperluas ActionSupport {
judul String pribadi;
unggahan File[] pribadi;
String pribadi[] unggahNamaFile;
String pribadi[] uploadContentType;
penyimpanan String pribadi;
String publik getTitle() {
judul pengembalian;
}
public void setTitle(String judul) {
this.title = judul;
}
File publik[] getUpload() {
unggahan kembali;
}
public void setUpload(File[] unggah) {
this.upload = unggah;
}
String publik[] getUploadFileName() {
kembalikan unggahNamaFile;
}
public void setUploadFileName(String[] uploadFileName) {
this.uploadFileName = uploadFileName;
}
String publik[] getUploadContentType() {
kembalikan uploadContentType;
}
public void setUploadContentType(String[] uploadContentType) {
this.uploadContentType = uploadContentType;
}
String publik getSavePath() {
kembalikan ServletActionContext.getRequest().getRealPath(savePath);
}
public void setSavePath(String simpanPath) {
ini.savePath = simpanPath;
}
unggahan String publik()melemparkan Pengecualian{
File[] files=ini.getUpload();
for(int i=0;i<files.length;i++){
FileOutputStream fos=fileOutputStream baru(ini.getSavePath()+"//"+ini.getUploadFileName()[i]);
byte[] buffer=byte baru[1024];
FileInputStream fis=FileInputStream baru(file[i]);
int len=0;
while((len=fis.read(buffer))>0){
fos.write(buffer,0,len);
}
}
kembali SUKSES;
}
}
File struts.xml dikonfigurasikan sebagai berikut: konfigurasikan pencegat untuk pengunggahan file, jenis file pengunggahan yang diizinkan, batas ukuran file pengunggahan, dan perkenalkan pencegat defaultStack dan lokasi penyimpanan file yang diunggah di server.
</penopang>
Kode halaman sukses.jsp adalah sebagai berikut: