當前位置:首頁 » 文件管理 » dorado7上傳

dorado7上傳

發布時間: 2023-01-08 06:48:34

Ⅰ dorado7 文件上傳和下載功能實現 dorado7.0+struts+spring+hibenate框架 希望提供完整的代碼

1. 在dorado studio的Mapping中新建一個Controller. 例如:

<controller name="file" clazz="sample.file.SampleController">
<action name="upload">
<forward name="success" path="/file/upload-success.jsp" contextRelative="false" />
<exception clazz="java.lang.Exception" path="/file/upload-failure.jsp" />
</action>
</controller>

2. 為該Controller新建一個Java實現類. 注意在新建Java類的向導中不必勾選任何待重載的父類方法.

3. 完成上述步驟後. 首先將實現類的父類改為FileController. 然後根據需要重載部分父類中的方法. 可以參考下面的例子:

1package sample.file;
2
3import java.io.File;
4import java.io.FileInputStream;
5import java.io.InputStream;
6import javax.servlet.http.HttpServletRequest;
7
8import org.apache.commons.fileupload.DiskFileUpload;
9import org.apache.commons.fileupload.FileItem;
10import com.bstek.dorado.biz.FileController;
11import com.bstek.dorado.utils.*;
12
13/**
14 * SampleController
15 */
16public class SampleController
17 extends FileController {
18 private final String WORK_DIR = "d:/temp";
19
20 /**
21 * 設定 DiskFileUpload 的相關屬性.
22 * <p>關於DiskFileUpload, 你可以到www.apache.org/commons查找FileUpload的文檔</p>
23 *
24 * @param request HttpServletRequest
25 * @param fileUpload DiskFileUpload
26 * @param parameters MetaData
27 */
28 protected void initFileUpload(HttpServletRequest request,
29 DiskFileUpload fileUpload, MetaData parameters) {
30 fileUpload.setSizeMax(1024 * 512); // 512K
31 }
32
33 /**
34 * 取得存放上傳文件的目標目錄
35 *
36 * @param request HttpServletRequest
37 * @param parameters MetaData
38 * @return String
39 */
40 protected String getUploadWorkDir(HttpServletRequest request,
41 MetaData parameters) {
42 return WORK_DIR;
43 }
44
45 /**
46 * 取得存儲上傳文件的文件名
47 *
48 * @param request HttpServletRequest
49 * @param fileName String
50 * @param parameters MetaData
51 * @return String
52 */
53 protected String getStoreFileName(HttpServletRequest request, String fileName,
54 MetaData parameters) {
55 return fileName;
56 }
57
58 /**
59 * 存儲已經上傳的文件
60 *
61 * @param request HttpServletRequest
62 * @param fileItem String
63 * @param storeFile String
64 * @param parameters MetaData
65 * @throws Exception
66 */
67 protected void storeUploadFile(HttpServletRequest request, FileItem fileItem,
68 File storeFile, MetaData parameters)
69 throws Exception {
70 super.storeUploadFile(request, fileItem, storeFile, parameters);
71
72 /** @todo 在這里您可以添加自己的代碼記錄上傳文件信息 */
73 }
74
75 /**
76 * 取得將要下載的文件的文件名
77 *
78 * @param request HttpServletRequest
79 * @return String
80 */
81 protected String getDownLoadFileName(HttpServletRequest request) {
82 return request.getParameter("fileName");
83 }
84
85 /**
86 * 取得將要被下載的文件的文件輸入流
87 *
88 * @param request HttpServletRequest
89 * @return InputStream
90 * @throws Exception
91 */
92 protected InputStream getDownloadFileInputStream(HttpServletRequest request)
93 throws Exception {
94 return new FileInputStream(WORK_DIR + File.separator +
95 request.getParameter("fileName"));
96 }
97
98}
99

4. 添加一個jsp用來上傳文件. 例如:

<%@ page contentType="text/html; charset=GBK" %>
<%@ page errorPage="/dorado/exception.d" %>
<%@ taglib uri="http://www.bstek.com/dorado" prefix="d" %>
<html>
<head>
<title>文件上傳</title>
</head>
<body>
<center>
<form method="post" target="upload" enctype="multipart/form-data"
action="<%=request.getContextPath()%>/file.upload.d">
<input type="file" name="file1" size="40">
<br>
<input type="file" name="file2" size="40">
<br>
<input type="file" name="file3" size="40">
<hr>
<input type="submit" value=" 上傳 ">
</form>
</center>
</body>
</html>

熱點內容
動漫腳本範文 發布:2025-08-29 13:41:38 瀏覽:947
進程調度演算法模擬 發布:2025-08-29 13:23:28 瀏覽:164
我的世界新版ec伺服器怎麼加材質 發布:2025-08-29 13:15:07 瀏覽:598
arm的交叉編譯是什麼意思 發布:2025-08-29 13:14:19 瀏覽:680
劍三無法連接伺服器是什麼原因 發布:2025-08-29 13:10:14 瀏覽:476
斑馬加密鎖 發布:2025-08-29 12:54:44 瀏覽:491
安卓視頻培訓班哪個好 發布:2025-08-29 12:44:31 瀏覽:489
我的世界斗羅生存伺服器怎麼開 發布:2025-08-29 12:33:53 瀏覽:406
下載了網站源碼 發布:2025-08-29 12:25:26 瀏覽:124
vivo主題文件夾 發布:2025-08-29 12:24:41 瀏覽:33