新手常見問題:把 smartupload.jar 放進 WEB-INF/lib,JSP 頁面寫 <%@ page import="org.lxh.smart.*" %> 卻報紅「The import org.lxh cannot be resolved」。
com.jspsmart.upload,不是 org.lxh.smart。你可能下載了某個教程修改版,或者教程寫錯了。WEB-INF/lib 下,且項目發布到 Tomcat 後該目錄隨之複製到 wtpwebapps/項目名/WEB-INF/lib。cos.jar(包含 SmartUpload)或 smartupload.jar(SourceForge 官方)WebRoot/WEB-INF/lib/(或 src/main/webapp/WEB-INF/lib/ Maven 結構)<%@ page import="com.jspsmart.upload.*" %><%@ page import="com.jspsmart.upload.*" %>
<%
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.setMaxFileSize(10 * 1024 * 1024); // 10MB
su.setAllowedFilesList("jpg,jpeg,png,gif,pdf,doc,xls");
su.setDeniedFilesList("exe,bat,sh,jsp,php,asp");
try {
su.upload();
int count = su.save("/upload"); // 相對路徑,需確保目錄可寫
out.println("上傳成功 " + count + " 個文件");
} catch (Exception e) {
e.printStackTrace();
out.println("上傳失敗: " + e.getMessage());
}
%>
SmartUpload 最後更新在 2005 年,**強烈建議改用** :
@MultipartConfig + request.getPart()新項目無理由繼續用 20 年前的組件。