从前台上传文件到指定路径

针对springMVC上传文件

         String savePath = categoryService.getCategoryByCode("KY_ANNEX_FILE_PATH").getDescription();//保存的文件路径
                File file = new File(savePath);

                if (!file.exists() && !file.isDirectory()) {//判断上传文件的保存目录是否存在
                    file.mkdir();//创建目录
                }
                try{
                    //使用Apache文件上传组件处理文件上传步骤:

                    DiskFileItemFactory factory = new DiskFileItemFactory();//1、创建一个DiskFileItemFactory工厂

                    ServletFileUpload upload = new ServletFileUpload(factory);//2、创建一个文件上传解析器

                    upload.setHeaderEncoding("UTF-8");     //解决上传文件名的中文乱码

                    if(!ServletFileUpload.isMultipartContent(request)){//3、判断提交上来的数据是否是上传表单的数据
                        return null;//按照传统方式获取数据
                    }//4、使用ServletFileUpload解析器解析上传数据,解析结果返回的是一个List<FileItem>集合,每一个FileItem对应一个Form表单的输入项
                    FileItem item = cfile.getFileItem();//springMVC已经解析好了
                    //如果fileitem中封装的是上传文件
                    String filename = item.getName();//得到上传的文件名称,
                    //注意:不同的浏览器提交的文件名是不一样的,有些浏览器提交上来的文件名是带有路径的,如: c:\a\b\1.txt,而有些只是单纯的文件名,如:1.txt
                    //处理获取到的上传文件的文件名的路径部分,只保留文件名部分
                    filename = filename.substring(filename.lastIndexOf("\\")+1);

                    InputStream in = item.getInputStream();//获取item中的上传文件的输入流

                    FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);//创建一个文件输出流

                    byte buffer[] = new byte[1024];//创建一个缓冲区

                    int len = 0;//判断输入流中的数据是否已经读完的标识

                    while((len=in.read(buffer))>0){    //循环将输入流读入到缓冲区当中,(len=in.read(buffer))>0就表示in里面还有数据

                        out.write(buffer, 0, len);//使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(savePath + "\\" + filename)当中
                    }

                    in.close();//关闭输入流

                    out.close();//关闭输出流

                    item.delete();//删除处理文件上传时生成的临时文件
                }catch (Exception e) {
                }
时间: 2024-11-10 11:33:56

从前台上传文件到指定路径的相关文章

拷贝一个目录或者文件到指定路径下

/** * 拷贝一个目录或者文件到指定路径下 * * @param source * @param target */ public static void copy(File source, File target) { File tarpath = new File(target, source.getName()); if (source.isDirectory()) { tarpath.mkdir(); File[] dir = source.listFiles(); for (int

[自动运维]ant脚本打包,上传文件到指定服务器,并部署

1.根节点使用,表示根目录为当前目录,默认启动的target为build,项目名称为othersysm, <project basedir="." default="build" name="othersysm"> </project> 2.每一个target为一个执行命令,如果有依赖关系,则写为: <target depends="build-project" name="build&

利用TCP 客户端----&gt;服务端 传送文件到指定路径,并返回一个友好的回馈

首先盲写的一个传输文件的方法,但测试发现了一个非常不容易发现的问题,这里先说明一下. 错误的代码如下: 1 package com.TCP.java; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import j

scponly 限定用户不能SSH登录,可以SFTP SCP传文件到指定目录

公司基于安全考虑,要求给用户SFTP,SCP权限可以上传相关文件到指定目录,但不能SSH登录,考虑到RSSH也是个解决方案,但有点麻烦,最后找到了SCPONLY 直接说下配置过程, 如果你的系统是CENTOS,那直接用这个配置 1.wget -c http://nchc.dl.sourceforge.net/s - nly/scponly-4.8.tgz #scponly 支持的软件有scp.sfp.rsync.subversion.gftp等客户端 2. ./configure –prefix

PHP上传文件到指定目录(Zend Studio 12.5)

PHP上传文件到固定目录下 2016-4-3   于杭州 [注]本次开发基于Zend Studio 12.5 具体流程: 1.双击打开"Zend Studio" 2.命名为upload1,选择自己的存放路径,以及php版本号,之后点击finish 3.双击打开upload1文件夹 4.右击,选择"New------PHP File" 5.对文件进行重命名为upload.php,之后选择"Next",选择模板.如图所示: 6.将下图红框中选中的内容

js获取上传文件的绝对路径

在html中    <input type="file" id="importFile" />    <input type="button" onclick="upload()"/> <script>function upload() {    var filename = document.getElementById("importFile").value;    

struts2 JS获取上传文件的绝对路径,兼容IE和FF

因为file控件上传失败后会自动清空,所以使用文本框来保存上传路径,而且在不同的浏览器下,控件的样式也需要兼容.下面是自己用到的实例 // 初始化判断浏览器的版本,根据版本的不同使用不同的样式function getExplorer() { //IE if (navigator.userAgent.indexOf("MSIE")>=0) { document.getElementById("1").style.display = "block&quo

Jenkins构建完成后通过SVN Publisher Plugin上传文件到指定的SVN(教程收集)

SVN Publisher Plugin:https://wiki.jenkins-ci.org/display/JENKINS/SVN+Publisher 构建完成后的文件,比如Maven打的war包,可以通过SVN Publisher Plugin插件上次到指定的SVN,下面是收集的教程: http://blog.csdn.net/hemingwang0902/article/details/44488897 http://blog.csdn.net/qiaojiahe/article/de

ASP.Net 5 上传文件通过虚拟路径存储

先贴上代码 [HttpPost] public IActionResult ImportTeaching(IFormFile file) { string root = @"Temp/teachingfile/"; string phyPayh = evn.MapPath(root); if (file != null) { var parsedContentDisposition = ContentDispositionHeaderValue.Parse(file.ContentDi