上传文件到tomcat|extjs50加springMVC如何实现将文件上传到本地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; }); });

Ⅱ 怎么把本地文件上传tomcat虚拟路径配置

在tomcat6版本中:1、【官方文档】本人不推荐。在tomcatconf下server.xml中找到<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"></Host>在其中添加:<Context path="" docBase="换成你的路径" reloadable="true"></Context>这的docBase要改成你的项目目录。2、 不修改server.xml【推荐使用此方法】在tomcat文件夹的conf"catalina"localhost(对于Tomcat6版本及其以上,需要自己创建catalina和localhost这两个文件夹)下新建一个xml文件。内容为<?xml version="1.0" encoding="UTF-8"?> <ContextdocBase="换成你的路径"reloadable="true"> </Context> 文件名改成你自己的譬如http://localhost:8080/bbs ,文件名就为bbs.xml 其他配置:打开 Tomcat6.0"conf"web.xml 文件,找到:<init-param><param-name>listings</param-name><param-value>false</param-value></init-param>把false设成true保存,重启Tomcat,让tomcat6支持文件列表显示。

Ⅲ extjs5.0加springMVC如何实现将文件上传到本地tomcat上

用 springMVC 来做项目,如果遇到文件上传,那么一定要用 spring 自带的文件处理类来处理上传的文件,因为效率实在高过其他的。从界面传过来的参数,如果设置了值对象,那么可以从值对象里面取出字符串类型的普通参数,如果不这样做,也可以直接从 request 里面获得,两种方法都可以。问题是如果值对象里面写了其他类型的变量,妄想像 Struts2 那样处理,springMVC 就会报出 400 Bad Request 的错误。在 Struts2 里面,我们可以定义一个值对象为public class ImageVo { private String roomnumber; private File image1 ; private File image2 ;private File image3 ;}然后在后台从前台传过来的值对象里面取出image1……,那就是一个文件流了,非常好处理上传文件。但 springMVC 只能接受全部为 string 类型的字符串值,那么该怎么做呢?前台Extjs4代码:/** * 图片添加 * @type {Ext.form.Panel} */var addImageForm = new Ext.form.Panel({ border: false, bodyPadding: 5, id: 'addImageForm',height:350, fieldDefaults: {labelWidth: 80, labelSeparator: ": ", anchor: '95%'}, items: [ {xtype:'fieldset',title:'图片上传', collapsible:true, items:[ { xtype:'textfield', fieldLabel: '房间号码', name: 'roomnumber', id: 'roomnumber1', allowBlank: false, maskRe: /[\d]/, reegx: /[\d{4}]/, minLength: 4, maxLength: 4, emptyText: '请输入四位的房间号码(前两位代表楼层,后两位代表房间号)', regexText: '请输入正确的房间号码', //验证该房间号码是否存在 ! listeners: { blur: function (e, t, eOpts) { var roomnumber = e.rawValue; if(roomnumber.length == 4){ Ext.Ajax.request({ method: 'post', params: {roomnumber: roomnumber}, url: '/room/findroomhold', callback: function (options, success, response) { var jsonString = Ext.JSON.decode(response.responseText); if (jsonString.success) { } else { Ext.Msg.alert('警告', jsonString.msg); } } }); } } } },{ xtype:'filefield', fieldLabel:'上传图片1', name:'image1', id:'image1', buttonText:'', buttonConfig:{iconCls:'upload'}, listeners:{ change:function(btn, value, eOpts){ var img_reg = /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/; if ( img_reg.test(value) ) { var img = Ext.getCmp('img1'); var file = btn.fileInputEl.dom.files[0]; var url = URL.createObjectURL(file); img.setSrc(url); } else { Ext.Msg.alert('提示', '请选择图片类型的文件!'); return ; } } } },{ xtype:'filefield', fieldLabel:'上传图片2', name:'image2', id:'image2', buttonText:'', buttonConfig:{iconCls:'upload'}, listeners:{ change:function(btn, value){ var img_reg = /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/; if ( img_reg.test(value) ) { var img = Ext.getCmp('img2'); var file = btn.fileInputEl.dom.files[0]; var url = URL.createObjectURL(file); img.setSrc(url); } else { Ext.Msg.alert('提示', '请选择图片类型的文件!'); return ; } } } },{ xtype:'filefield', fieldLabel:'上传图片3', name:'image3', id:'image3', buttonText:'', buttonConfig:{iconCls:'upload'}, listeners:{ change:function(btn, value){ var img_reg = /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/; if ( img_reg.test(value) ) { var img = Ext.getCmp('img3'); var file = btn.fileInputEl.dom.files[0]; var url = URL.createObjectURL(file); img.setSrc(url); } else { Ext.Msg.alert('提示', '请选择图片类型的文件!'); return ; } } } } ] },{xtype:'fieldset',title:'图片预览',layout:'column',defaults:{width:130}, items:[ {xtype:'image',id:'img1'}, {xtype:'image',id:'img2'}, {xtype:'image',id:'img3'} ] } ], dockedItems: [ { xtype: 'toolbar', dock: 'bottom', ui: 'footer', layout: {pack: 'center'}, items: [ {text: '确认上传', disabled: true, formBind: true, handler: function () { var form = this.up('form').getForm(); if (form.isValid()) { form.submit({ url: '/image/add', method: 'post', submitEmptyText: false, waitMsg: '请稍等,系统正在帮您添加', success: function (form, action) { //Ext.Msg.alert('成功', "上传成功!"); Ext.Msg.alert('成功', action.result.msg); }, failure: function (form, action) { Ext.Msg.alert('失败', action.result.msg); //Ext.Msg.alert('失败', "上传失败"); } }) } }}, {text: '重置', handler: function () { this.up('form').getForm().reset(); }} ] } ]});

Ⅳ 问一下如何上传文件到tomcat的webapps文件夹中

windows 的话,你就直接 复制粘贴就好了 如果是Linux的话,就使用 ftp 或者 rz 上传文件

Ⅳ 毕设:用java web编写的本地文件上传到tomcate服务器最后提示上传成功但是在相应的目录下找不到上传的文件

有两种可能:一、你的程序显示成功,但是只是个输出显示成功的语句,而实际上并没有上传文件;二、文件确实上传成功了。但是你找的文件夹的路径不对。这种问题你可以这样验证:在tomcat所在的路径下,用电脑的文件搜索搜一下你上传的文件名,看能不能搜到。能搜到就说明是你找错位置了。搜不到就是真的没有上传成功。

Ⅵ 怎么把文件上传到tomcat服务器

一,将项目导出成WAR包,而后将该包直接复制到tomcat的webapp目录下,这样就可以访问了 二,配置tomcat 修改${tomcat.home}\conf\server.xml文件.在Host节点下增加如下参考代码: docBase:指向项目的根目录所在的路径, 由于将项目打成了war包,所

Ⅶ java文件上传到tomcat服务器

你好:你的是保存包eclipse的默认路径下了,如果你想上传文件的话,必须制定resource的存储路径,可以是相对的,也可以是绝对的!

Ⅷ android开发:怎样实现上传文件到Tomcat服务器上,求可执行的代码,越简洁越好

服务器端写个servlet,然后在doPost()方法里处理客户端上传的文件,大概代码:DiskFileItemFactory factory = new DiskFileItemFactory();factory.setSizeThreshold(1024 * 1024); // 设置最多只允许在内存中存储的数据, 单位:字节factory.setRepository(cachepath); // 设置一旦文件大小超过设定值时数据存放的目录 ServletFileUpload srvFileUpload = new ServletFileUpload(factory);srvFileUpload.setSizeMax(1024 * 1024 * 1024); // 设置允许用户上传文件大小, 单位:字节// 开始读取上传信息List fileItems = null;try { fileItems = srvFileUpload.parseRequest(request);} catch (Exception e) { System.out.println("获取上传信息。。。。。。失败");}// 依次处理每个上传的文件Iterator iter = fileItems.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); // 忽略其他不是文件域的所有表单信息 if (!item.isFormField()) { // 取出文件域的所有表单信息 } else { // 取出不是文件域的所有表单信息 }}

Ⅸ 从网页上上传文件保存到tomcat目录中. 现发现上传上去的文件会自行消失不见..连目录都不见了,

用myeclipse开发web应用的时候,项目部署到tomcat下是把webRoot拷贝到tomcat的webapps目录下的,你上传的文件在tomcat里,而不在项目里面存在,下次重新部署,就导致下次把tomcat目录下的文件清空,重新拷贝,运行。所以下次不会有上次的上传文件,与重启无关。其他的ide开发也参考下这个。

Ⅹ tomcat上传文件问题

第一步:需要先创建一个server,可以通过windows中的show view,之后找到server,

第二步:在server窗口中右击,选择”new-server“,之后创建好tomcat server。

第三步:双击创建的server,进入server设置界面,设置Server Location,选择编译路径是”Use Tomcat“即可切换到Tomcat的路径,保存。

第四步:之后将server项目添加到此server下,这样就完成了部署到Tomcat下。


赞 (0)