tomcat上傳圖片
⑴ tomcat上傳圖片在win2008R2系統下
1. 安裝硬碟版PE,比如 通用PE
2. 重啟系統進入
通用PE,在C之外的分區建立一個WIN2008目錄,使用PE中的ultraiso軟體打開你的Win2008安裝盤鏡像,將裡面的文件全部提取到
WIN2008目錄內。如果沒有ultraiso,可以用vdm虛擬光碟機載入這個鏡像,然後將裡面的文件副知道WIN2008目錄。
3. 格式化C盤,然後運行PE中的Win7安裝支持。
4. 到解壓的WIN2008目錄中運行setup,安裝開始,重啟後安裝會繼續。
⑵ 圖片怎麼上傳到tomcat伺服器,tomcat伺服器如何構建
你可以在系統裡面做一個上傳的功能,然後就能把圖片上傳到tomcat伺服器了啊。
tomcat伺服器不用構建。直接下載下來就能用。
⑶ jsp頁面顯示上傳到tomcat伺服器的圖片
沒有顯示圖片 就是路徑不對 你先獲取從項目的根目錄 然後再獲取圖片所在路徑
這是我取tomcat服務端圖片文件夾的方法 用的是servlet
this.getServletContext().getRealPath("uploadFile"); //( "uploadFile" 是放圖片的文件夾)
⑷ tomcat本地伺服器,上傳圖片成功後隔天查看圖片就不顯示啦為什麼求解
用的是什麼路徑?
看看相對路徑和絕對路徑的區別。
⑸ 怎麼向tomcat伺服器上傳文件
1.將tomcat環境搭配好
path中加入:
%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;
2.修改tomcat中config/server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" resolveHosts="false"/>
<Context docBase="D:\workspace\picture\target\mvc-basic.war" path="/picture"/>
</Host>
添加紅色部分
docBase中要為項目打包成的war文件。
path隨意
啟動tomcat bin\startup.bat,如果這時tomcat一閃而過,表示啟動異常,很可能是配置或者server.xml出問題了。
注意:有時即使更改了war文件裡面的文件,程序仍然沒有任何變化,這個時候要把apache-tomcat-7.0.11\webapps下的項目文件給刪除,再重新啟動tomcat。
由於我是用eclipse開發的,下面那段紅色線表示我發布的位置,wtpwebapps下,我試過,只有把圖片放在D:\workspace
\.metadata\.plugins\org.eclipse.wst.server.core\tmp4\wtpwebapps\ROOT裡面項目
才能讀取到圖片。而如果將項目打包成war後,更改<Context docBase="D:\workspace\picture\target\mvc-basic.war" path="/picture"/>更tomcat的根目錄是apache-tomcat-7.0.11\webapps,只需要在這個下面建立images目錄,把圖片往裡面存就行了。
3.代碼
[java] view plain
private static final String PICTURE_WEB_INF = "/picture/WEB-INF";
private static final String ROOT_IMAGES_PICTURE = "/ROOT/images/picture";
private static final String IMAGES_PICTURE = "/images/picture";
@RequestMapping(value = "/add",method = RequestMethod.POST)
public String save(Picture picture, HttpServletRequest request) {
this.FileAndSaveFile(request, picture);
this.pictureService.save(picture);
return "redirect:/index";
}
private void FileAndSaveFile(HttpServletRequest request, Picture material) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
for (Map.Entry<String, MultipartFile> entity : multipartRequest.getFileMap().entrySet()) {
MultipartFile mf = entity.getValue();
String uuid = UUID.randomUUID().toString();
String classPath = this.getClass().getClassLoader().getResource("/").getPath();
try {
classPath =URLDecoder.decode(classPath, "gb2312");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
classPath = classPath.split(PICTURE_WEB_INF)[0];
File pictureFile = new File(classPath+ROOT_IMAGES_PICTURE);
if(!pictureFile.exists()){
pictureFile.mkdirs();
}
String path = pictureFile.getPath();
String ext = null;
try {
if (null == mf || mf.isEmpty() || null == mf.getInputStream() || mf.getSize() > 40000000) {
return;
}
ext = Files.getFileExtension(mf.getOriginalFilename());
if(classPath.indexOf("wtpwebapps")!=-1){
path = classPath+ROOT_IMAGES_PICTURE;
}else{
path = classPath+IMAGES_PICTURE;
}
File f = new File(path +"/" + uuid + "." + ext);
Files.createParentDirs(f);
FileCopyUtils.(mf.getBytes(), f);
material.setFilePath(IMAGES_PICTURE + "/" + uuid + "." + ext);
material.setFileName(mf.getOriginalFilename());
} catch (IOException e) {
e.printStackTrace();
}
}
}
因為使用eclipse開發的,所以會是indexof(wtpwebapps),其他的開發工具要看情況。
jsp:
另外img src好像不支持用絕對路徑,顯示不出來,我也不知道為什麼,網路了很多都沒說,但是絕對路徑應該是不可行的,因為有時需要移植什麼的容易出現問題。
[html] view plain
<head>
<title>圖片列表</title>
<script language="javascript" src="./resources/js/jquery-1.8.3.js"> </script>
<script language="javascript" src="./resources/js/jquery.validate.min.js"> </script>
<script language="javascript" src="./resources/js/picture/add.js"> </script>
</head>
<body>
<form action = "<c:url value = "/picture/add"></c:url>" method = "post" id="add_form" enctype="multipart/form-data">
<table class="tab01">
<tr>
<td class="name">名稱:</td>
<td><input id = "name" type="text" class="text_input" name="title" placeholder="標題"/></td>
<td><label for="title" class="error" generated="true" style="color:red;font-size:12px;"></label></td>
</tr>
<tr>
<td class="name">上傳圖片:</td>
<td><input type="file" class="text_input" name="file" id="file" placeholder="上傳圖片"/></td>
<td><label for="file" class="error" generated="true" style="color:red;font-size:12px;"></label></td>
</tr>
<tr>
<td> </td>
<td colspan="2">
<input type="submit" class="button" id="submitButton" value="提交" name="reset" />
<input type="reset" class="button" value="重置" name="reset" />
</td>
</tr>
</table>
</form>
<br/><br/><br/>
<c:forEach items = "${pictureList }" var = "picture">
<p>${picture.title }</p>
<div><img src="${picture.filePath }" width = "500" height = "500" BORDER="0" ALT="無圖片"/>
</div>
</c:forEach>
</body>
[javascript] view plain
$(function(){
jQuery.validator.messages.required = "<span class='error' generated='true' style='color: red; font-size: 12px;'>*請填寫此內容</span>";
jQuery.validator.messages.maxlength = "<span class='error' generated='true' style='color: red; font-size: 12px;'>*已達到最大字元數 </span>";
jQuery.validator.messages.accept = "<span class='error' generated='true' style='color: red; font-size: 12px;'>*請輸入擁有合法後綴名的字元串 </span>";
$("#add_form").validate({
rules : {
title : {required : true, maxlength :200 },
file : {required : true}
}
});
$("input[type='file']").change(function(){
alert(this.files[0].size);
if(this.files[0].size>300*1024){
alert("圖片太大!!圖片不大於300KB");
$("#submitButton").attr("disabled","disabled");
}else{
$("#submitButton").removeAttr("disabled");
}
});
$("#add_form").submit(function() {
var filepath=$("input[name='file']").val();
var extStart=filepath.lastIndexOf(".");
var ext=filepath.substring(extStart,filepath.length).toUpperCase();
if(ext!=".BMP"&&ext!=".PNG"&&ext!=".GIF"&&ext!=".JPG"&&ext!=".JPEG"){
alert("圖片限於bmp,png,gif,jpeg,jpg格式");
return false;
}
return true;
});
});
⑹ 您好,請問如何在網頁中實現簡單文件/圖片上傳,如下圖示(在tomcat7.0或8.0環境下)謝謝!解決加倍懸賞
html里這么定義一個form
<formmethod="post"id="uploadForm"name="uploadForm"enctype="multipart/form-data"target="ifm">
<inputtype="file"name="file"id="file"size="30"/><br/><br/>
<ahref="javascript:upload_xls();">上傳</a>
</form>
<iframeid='ifm'name='ifm'style="display:none"/>
java
//申明一個File對象
privateFilefile;
publicFilegetFile(){
returnfile;
}
publicvoidsetFile(Filefile){
this.file=file;
}
//
InputStreamis=newFileInputStream(getFile());
//創建輸出流,生成新文件
OutputStreamos=newFileOutputStream(這里寫文件要保存的路徑和文件名);
//將InputStream里的byte拷貝到OutputStream
IOUtils.(is,os);
os.flush();
IOUtils.closeQuietly(os);
主要代碼就是上面,可以整合到自己的程序里去
⑺ tomcat本地伺服器,上傳圖片成功後隔天查看圖片就不顯示啦為什麼求解
看看你有沒有修改IIS默認上傳文件大小限制200K,如果沒有的話那圖片超過200K,IIS會不容許你上傳
⑻ 關於圖片上傳到tomcat問題
關於圖片無法顯示,你可以參考下如下網上的論述:
後來才發現,前文所說的方法未不行, 原來tomcat 很死板,對大小寫都敏感, 例如我的圖片是 1. GIF, 在jsp 里寫成了小寫的 1. gif 都會顯示不出來! 把圖片名改成 與文件名一樣的就好了。 這點IE就做得比較好,即使小寫都可以顯示
⑼ 關於用MyEclipse自帶的Tomcat伺服器實現圖片文件上傳與圖片文件顯示的功能
支持 LichKinky 的答案
MyEclipse自帶的Tomcat伺服器的運行目錄為:
E:\MyEclipseWorkspace\.metadata\.plugins\com.genuitec.eclipse.easie.tomcat.myeclipse\tomcat\webapps
你可以在上傳圖片後 進入這個目錄里查看你項目下的upload文件夾
⑽ 為什麼我用流的方式上傳圖片到tomcat伺服器中,代碼不出錯,但是圖片沒有顯示在工程下的文件夾中
1.
while(len=input.read(bt)>0){
output.write(bt,0,len);
}
output.close();
input.close();
returnmapping.findForward("ok");
2.
FileOutputStreamout=newFileOutputStream("F:\yd\TestUpLoad\photo\"+filename);
這個你根本沒寫文件的名字啊,當然為了防止重名,你應該修改這個filename自動生成不容易重名的文件名,如:根據日期生成,隨機數等等。。還有你這個路徑寫的對不對