`

文件上传、下载

    博客分类:
  • java
 
阅读更多

下载方式一:Jquery+SpringMVC

var form = $("<form>");

    form.attr("style", "display:none");

    form.attr("target", "");

    form.attr("method", "post");

    form.attr("action", "/projrctname/action.do");

    $("body").append(form);

    form.submit();

public static void DownUtil(HttpServletRequest request, HttpServletResponse response,String ctxPath,String fileCnName) throws Exception{
        response.setContentType("application/x-msdownload");  
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        BufferedInputStream bis = null;  
        BufferedOutputStream bos = null;  
        String downLoadPath = ctxPath + fileCnName;  
        long fileLength = new File(downLoadPath).length(); 
        String fileName = FileUtils.encodeFileName(request,fileCnName);
        response.setHeader("Content-Disposition", "attachment;filename="  
                + fileName);  
        response.setHeader("Content-Length", String.valueOf(fileLength));  
        bis = new BufferedInputStream(new FileInputStream(downLoadPath));  
        bos = new BufferedOutputStream(response.getOutputStream());  
        byte[] buff = new byte[2048];  
        int bytesRead;  
        while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {  
            bos.write(buff, 0, bytesRead);  
        }  
        bis.close();  
        bos.close();
    }

 

public static String encodeFileName(HttpServletRequest request,
			String fileName) throws UnsupportedEncodingException {
		String agent = request.getHeader("USER-AGENT");
		if (null != agent && -1 != agent.indexOf("MSIE")) {
			return URLEncoder.encode(fileName, "UTF8");
		} else if (null != agent && -1 != agent.indexOf("Mozilla")) {
			return "=?UTF-8?B?"
					+ (new String(Base64.encodeBase64(fileName
							.getBytes("UTF-8")))) + "?=";
		} else {
			return fileName;
		}
	}

 

 

 

 

上传

方式一:

<form id='fileSpan' style="display:inline" action="" method="post" enctype="multipart/form-data">
				<input type='file' id='j' name="fileSpanFile">
				<input type="submit" name="submitBB" class="btn" onclick="sunbmitFileUp();" value="上传" />
			</form>

 

public ModelAndView upload(HttpServletRequest request, HttpServletResponse response) {
        DiskFileItemFactory factory=new DiskFileItemFactory();
        FileUtils fileUtils=null;
        // 设置内存缓冲区,超过后写入临时文件
        factory.setSizeThreshold(10240000);
        // 设置临时文件存储位置
        String base=FileUtils.getExcelFileName(request);
        File file=new File(base);
        if(!file.exists())
            file.mkdirs();
        factory.setRepository(file);
        ServletFileUpload upload=new ServletFileUpload(factory);
        // 设置单个文件的最大上传值
        upload.setFileSizeMax(10002400000l);
        // 设置整个request的最大值
        upload.setSizeMax(10002400000l);
        upload.setHeaderEncoding("UTF-8");
        
        try {
            MultipartHttpServletRequest multipartRequest=(MultipartHttpServletRequest)request;
            CommonsMultipartFile file1=(CommonsMultipartFile)multipartRequest.getFile("fileSpanFile");
            InputStream stream=file1.getInputStream();
            String fileName=file1.getOriginalFilename();
            fileName=base + File.separator + fileName;
            OutputStream bos=new FileOutputStream(fileName);
            int bytesRead=0;
            byte[] buffer=new byte[8192];
            while((bytesRead=stream.read(buffer, 0, 8192)) != -1) {
                bos.write(buffer, 0, bytesRead);
            }
            bos.close();
            // 关闭流
            stream.close();
            fileUtils=new FileUtils();
            
        } catch(Exception e) {
            e.printStackTrace();
        }
        Map<String, Object> model=new HashMap<String, Object>();
        model.put("msg", "success");
        return new ModelAndView("JSONView", model);

 

 

分享到:
评论

相关推荐

    文件上传下载服务器

    文件上传下载服务器是一种重要的网络服务,它为用户提供了一个方便、高效的方式来交换文件,特别是对于教育机构,如学校,教师可以利用这种服务收发作业、试卷等教学材料。在这个场景下,教师无需通过邮件或者传统的...

    基于Python+Django简单实现文件上传下载功能源码.zip

    基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于...

    通用文件上传下载接口使用说明

    通用文件上传下载接口使用说明是指在 JAVA 环境下的一种文件上传下载接口,主要提供文件上传、下载和删除三个主要功能。下面将对这三个主要功能进行详细的解释: 文件上传 文件上传是指将文件从客户端上传到服务器...

    delphi做的文件上传下载服务器端

    标题 "delphi做的文件上传下载服务器端" 描述了一个使用Delphi编程语言开发的服务器程序,该程序专门设计用于处理文件的上传和下载功能。在IT领域,这样的系统通常涉及网络编程、多线程和并发处理,以确保能有效地...

    C#webapi文件上传下载源码

    在这个场景下,"C# WebAPI文件上传下载源码"指的是使用C#编写的一套实现文件上传和下载功能的WebAPI服务代码。 文件上传功能是Web应用中的常见需求,允许用户将本地文件传输到服务器。在C# WebAPI中,这通常通过...

    局域网文件上传下载工具

    【局域网文件上传下载工具】是一个实用的软件应用,主要设计用于在局域网内的设备之间方便地进行文件的上传和下载操作。这个工具强调的是简单易用和跨平台特性,使得用户无论是在Windows、Mac还是Linux系统上都能...

    文件上传下载

    ### 文件上传下载技术详解 在数字化时代,文件的上传与下载是互联网应用中最常见的功能之一。无论是个人用户分享文档、图片、视频,还是企业级应用中的数据交换,文件的上传下载都扮演着至关重要的角色。本文将深入...

    C# WinForm 文件上传下载

    在C# WinForm应用开发中,文件上传和下载是常见的功能需求。本文将详细讲解如何实现文件上传到服务器以及从服务器下载文件。 首先,我们关注的是文件上传过程。在提供的代码中,`UpLoadFile`函数是实现文件上传的...

    用于文件上传下载的lua代码

    在这个场景下,"用于文件上传下载的lua代码"指的是利用Lua来实现服务器端处理文件上传和下载功能的程序。在开放源代码的Web服务器平台如OpenResty中,Lua可以作为扩展语言来增强HTTP服务的功能,实现更灵活的业务...

    基于jsp的文件上传下载

    "基于jsp的文件上传下载"是Web应用程序中的常见需求,涉及到客户端与服务器之间的数据交互。本项目详细阐述了如何利用JSP实现文件的上传和下载功能。 首先,文件上传涉及的主要技术有HTML表单、Servlet和多部分请求...

    servlet 文件上传下载例子

    在这个"Servlet 文件上传下载例子"中,我们将探讨如何使用Servlet实现文件的上传和下载功能,这对于构建一个简单的图片文件服务器至关重要。 1. **文件上传** - **MultipartRequest**: 在Servlet中,处理文件上传...

    文件上传下载demo

    在IT行业中,文件上传下载是Web应用中常见且重要的功能之一。这个"文件上传下载demo"项目显然聚焦于实现这一功能,并对一个名为jspSmartUpload的组件进行了优化处理,特别是针对SmartUpload类进行升级,解决了文件名...

    wcf+wpf实现文件上传下载实例

    在文件上传下载的场景中,契约通常包含一个或多个方法,如`UploadFile`和`DownloadFile`。这些方法的参数可能是文件流或者文件路径,以处理二进制数据。服务端接收到文件后,可以将它们保存在服务器的特定位置,如...

    struts2文件上传下载源代码

    在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...

    struts实现的文件上传下载功能

    总结起来,使用Struts实现文件上传下载涉及前端表单设计、后端处理逻辑、文件存储策略以及安全控制等多个方面。在实践中,我们还需要考虑到性能优化和用户体验提升,例如使用异步上传、进度条展示等技术。

    通用文件上传下载接口使用说明.docx

    通用文件上传下载接口使用说明 本文档主要介绍了通用文件上传下载接口的使用说明,包括文件上传和文件下载两个部分。在文件上传部分,我们需要关注文件主键id,它是文件上传的唯一标识符,上传文件时将返回该id,...

    Bootstrap自定义文件上传下载样式

    在本文中,我们将深入探讨如何使用Bootstrap来定制文件上传和下载的样式,以提供更美观、用户体验更好的交互界面。 首先,文件上传是网站和应用程序中常见的功能,允许用户上传本地文件到服务器。在HTML5中,`...

    springboot多文件上传下载,文件打包下载,ztree树形下拉框.zip

    在IT领域,文件上传下载和树形结构的交互设计是常见的功能需求,特别是在Web应用中。SpringBoot作为轻量级的Java开发框架,为构建高效、便捷的后端服务提供了强大的支持。本示例"springboot多文件上传下载,文件打包...

    利用jsp实现文件上传下载

    JSP 实现文件上传下载 在本文中,我们将学习如何使用 JSP 实现文件上传和下载功能。在这个过程中,我们将使用 Apache 的 Commons FileUpload 和 Commons IO 两个库来处理文件上传和下载。 首先,让我们了解一下...

    文件上传下载的简单实现

    在IT行业中,文件上传下载是Web应用中常见的功能,它涉及到客户端与服务器之间的数据交互。这篇博客"文件上传下载的简单实现"可能提供了一个简单的实现方法,虽然描述中没有给出具体细节,但我们可以根据通常的做法...

Global site tag (gtag.js) - Google Analytics