您好:
我於 Eclipse 建立一個專案jsp01a ,匯入 WEB-INF\lib\Smartupload.jar
於jsp01a\Webcontent\ch10\分別建立 smart_01.html 與smart_01.jsp
並建立上傳目錄 jsp01a\Webcontent\upload
但經故測試後,發現 他是上傳到
D:\e\doing\jsp01\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\jsp01a
而非目前ECLIPSE 專案WEBCONTENT的目錄
D:\e\doing\jsp01\jsp01a\WebContent\upload
請問,要如何 讓他能直接 upload到開發專案的目錄呢?
而這路徑,後續放到 SERVER 也能直接使用?
謝謝!
<!DOCTYPE html>
<html>
<head>
<meta charset="BIG5">
<title>Insert title here</title>
</head>
<body>
<form action="smart_01.jsp" method="post" enctype="multipart/form-data"><!-- 封裝表單 -->
請選擇要上傳的文件:<input type="file" name="pic" />
<input type="submit" value="上傳" />
</form>
</body>
</html>
------jsp
<%@page import="com.jspsmart.upload.SmartUpload"%>
<%@ page language="java" contentType="text/html; charset=BIG5"
pageEncoding="BIG5" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>Insert title here</title>
</head>
<body>
<%
SmartUpload smart= new SmartUpload();
smart.initialize(pageContext); //初始化上傳操作
smart.upload(); //上傳準備
String filePath=getServletContext().getRealPath("/upload");
smart.save("/upload",smart.SAVE_VIRTUAL);
String fn=smart.getFiles().getFile(0).getFileName();
out.println(fn+"--" + smart.getSize()+"--"+filePath+"<br>");
out.println(smart.getFiles().getFile(0).getFilePathName()+"<br>");
out.println("<a href=upload/"+fn+">這裡</a>");
%>
</body>
</html>
------解决思路----------------------
1 使用绝对路径作为存档路径
2 切换tomcat的运行地址,tomcat集成到eclipse之后,默认的部署路径是工作空间.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 路径下面,你的文档就存到这个路径下面了