`
wmch
  • 浏览: 72639 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

上传下载文件--项目中的例子

F# 
阅读更多

//*************************************************上传和下载文件begin
   
    private static final String FILE_ENCODEING = "UTF-8";
    private static final String CONTENT_TYPE = "application/octet-stream";
   
    /**
     * 上传文件
     * @param obj
     */
    public void upload(File upload,String fileName)throws Exception{
        TbSysAttach immpSellAttach = new  TbSysAttach();
        byte[] attachContent = getBytesFromFile(upload);
        immpSellAttach.setAttachContent(attachContent);
        immpSellAttach.setStatusId("0"); //有效标记
        immpSellAttach.setAttachName(fileName);
        sysmngHibernate.saveObj(immpSellAttach);
    }
    /**
     * 文件转化为字节数组
     *
     * 
     */
    public static byte[] getBytesFromFile(File f){
        if (f == null) {
            return null;
        }
        try{
            long starttime = System.currentTimeMillis();
            FileInputStream stream = new FileInputStream(f);
            ByteArrayOutputStream out = new ByteArrayOutputStream(100000);
            //ByteArrayInputStream ins = new ByteArrayInputStream(stream);
            byte[] b = new byte[100000];
            int n;
            int i=0;
            while ((n = stream.read(b)) != -1){
                out.write(b, 0, n);
                System.out.println(i++);
                System.out.println(n);
            }
            System.out.println("------"+b.length);
//            byte[] aimBarry = new byte[];
//            ByteArrayInputStream ins = new ByteArrayInputStream(aimBarry);
           
           
           
            stream.close();
            out.close();
            System.out.println("用时--》"+(System.currentTimeMillis() - starttime));
           
           
            return out.toByteArray();
        } catch (IOException e){
        }
        return null;
    }
   

   
    /**
     * 下载文件
     * @param attachId
     * @param request
     * @param response
     * @throws Exception
     */
    public void downFile(String attachId,HttpServletRequest request,HttpServletResponse response)throws Exception
    {
        String fileName = null;
        byte[] fileContent = null;
        TbSysAttach immpSellAttach = (TbSysAttach)sysmngHibernate.getSession().get(TbSysAttach.class, attachId);
        if(null!=immpSellAttach){
             fileName = immpSellAttach.getAttachName();
             fileContent = immpSellAttach.getAttachContent();
        }
        BufferedOutputStream bos;
        String downFileName = null;
        bos = null;
       
        if(fileContent == null || fileContent.length < 0 || response == null)
            return;
       
        try
        {
            response.setContentType(CONTENT_TYPE);
            if(fileName == null || fileName.equals(""))
                fileName = "anonymous";
            downFileName = URLEncoder.encode(fileName, FILE_ENCODEING);
            if(request.getHeader("User-Agent").indexOf("MSIE 5.5") != -1)
                response.setHeader("Content-disposition", (new StringBuilder("filename=")).append(downFileName).toString());
            else
                response.setHeader("Content-disposition", (new StringBuilder("attachment; filename=")).append(downFileName).toString());
            byte buff[] = fileContent;
            bos = new BufferedOutputStream(response.getOutputStream());
            bos.write(buff);
            bos.flush();
        }
        catch(Exception ex)
        {
           
        }
        finally
        {
            if(bos != null)
            {
                bos.close();
            }
        }
    }

分享到:
评论

相关推荐

    java文件上传例子

    在Java编程中,文件上传是一项常见的任务,尤其在开发Web应用程序...通过这个简单的Java文件上传例子,开发者可以学习如何在实际项目中实现文件上传功能,并理解相关的技术细节。这有助于提升Web应用的交互性和功能性。

    springMVC 上传下载例子

    在Spring MVC中,上传和下载功能是常见的需求,通常涉及到处理HTTP请求中的多部分数据以及生成响应的文件流。下面将详细介绍如何在Spring MVC中实现这些功能。 1. **配置Spring MVC** 首先,你需要在`web.xml`中...

    pythonweb上传下载文件

    在这个例子中,用户选择文件后,文件会被上传到服务器,并保存在"/uploads/"目录下。 ### 文件下载 文件下载通常涉及生成一个HTTP响应,其中包含要下载的文件内容。以下是如何在Flask中实现的一个例子: ```...

    C# .NET FileUpload 多文件上传例子

    在这个"C# .NET FileUpload 多文件上传例子"中,我们将探讨两种主要的方法,帮助你理解和掌握这一关键功能。 首先,我们要知道ASP.NET中的`&lt;asp:FileUpload&gt;`控件是实现文件上传的核心组件。它可以允许用户从本地...

    多文件上传例子及说明

    在IT行业中,多文件上传是一项常见的功能,尤其在文件管理、文档共享以及协作类应用中。这个"多文件上传例子及说明"的压缩包提供了一个示例,教你如何实现一次性上传一个文件夹内的所有文件。以下是对这个主题的详细...

    uploadify多文件上传例子代码

    在IT行业中,文件上传是网页应用中常见的功能之一,尤其在大数据时代,用户可能需要一次上传多个文件。"uploadify"是一款广泛使用的JavaScript插件,它使得多文件上传变得简单而高效。本示例代码是关于如何使用...

    struts2+hibernate做的上传和下载文件例子

    在这个"struts2+hibernate做的上传和下载文件例子"中,我们将深入探讨如何利用这些技术来实现文件的上传和下载功能。 1. **文件上传** - Struts2提供了内置的文件上传支持,通过`&lt;s:file&gt;`标签可以创建一个文件...

    .NET文件上传和下载

    在这个项目中,开发者已经创建了一个包含数据库支持、开源实现的示例,不仅展示了文件上传和下载的实现,还演示了如何在程序中使用存储过程以提高效率和安全性。下面我们将详细探讨这些知识点。 1. **文件上传**: ...

    fileUpload文件上传组件例子

    本示例中的"fileUpload文件上传组件例子"提供了一个自定义实现的文件上传组件,旨在帮助开发者理解并掌握这一关键功能的实现方式。 首先,我们需要了解文件上传的基本原理。在HTML中,`&lt;input type="file"&gt;`标签...

    commons-fileupload上传和下载例子.zip

    在Java开发中,文件上传和下载是常见的功能需求,Apache Commons FileUpload库为开发者提供了方便、灵活的文件上传处理机制。这个"commons-fileupload上传和下载例子.zip"压缩包包含了使用Apache Commons FileUpload...

    完整的上传文件的例子,下载即可用

    在IT行业中,文件上传是一个常见的功能,特别是在Web应用中,用户可能需要上传各种类型的文件,如图片、文档或视频。本示例提供了“完整的上传文件的例子”,特别适用于那些正在学习或开发相关功能的开发者。这个...

    文件上传下载的实现-java代码

    在实际项目中,你可能会遇到更多复杂情况,比如文件重命名、断点续传、大文件分块上传下载等,但以上代码提供了一个基础的实现思路。在web4文件夹中,可能包含了实现这些功能的示例代码,你可以进一步研究以加深理解...

    ReactNative实现的文件上传功能支持任意文件上传

    在这个例子中,我们使用了`FormData`对象来封装文件数据,并通过`RNFetchBlob.fetch`方法发送POST请求到你的服务器端上传接口。记得替换`'你的上传API地址'`为实际的API接口。 以上就是使用React Native和`react-...

    jsp文件上传到数据库里例子下载

    【标题】"jsp文件上传到数据库里例子下载"是一个典型的Java Web开发教程,它涉及到的主要知识点是如何使用JSP(JavaServer Pages)将用户上传的文件存储到数据库中。这一过程通常用于实现用户在网站上上传图片、文档...

    springboot 项目实现文件上传,显示,下载,打包为jar

    在Spring Boot项目中,文件上传、显示和下载是常见的需求,尤其在构建Web应用程序时。Spring Boot提供了一种简单而高效的方式来处理这些操作。这里我们将深入探讨如何在Spring Boot项目中实现文件上传、显示和下载,...

    VB上传本地文件到服务器

    在VB(Visual Basic)编程中,上传本地文件到服务器是一个常见的任务,特别是在开发Web应用程序时。这个过程涉及客户端(用户计算机)与服务器之间的数据交互,通常通过HTTP协议完成。以下是对这一主题的详细阐述: ...

    NeatUpload 上传文件例子

    【NeatUpload 上传文件例子】是一个针对Visual Studio 2008的项目示例,主要展示了如何使用NeatUpload库来实现大文件上传的功能。NeatUpload是一个强大的ASP.NET控件,它允许用户在web应用程序中上传大文件,同时...

    SpringBoot实现文件上传和下载.docx

    在Spring Boot应用中,文件上传和下载是常见的功能需求,特别是在构建Web应用程序时。这篇文章将指导你如何使用Spring Boot来实现这两个操作。 首先,我们需要创建一个Spring Boot项目。在创建新项目时,需要添加...

    bootstrap fileinput完整实例分享

    在这个例子中,`Init`方法接收两个参数:文件输入字段的ID和文件上传API的URL。`fileinput`方法配置了各种选项,包括显示预览、按钮样式和语言设置。 当用户选择文件并触发上传时,Bootstrap FileInput会使用AJAX...

    MVC4实现文件上传的例子(学生提交的项目)

    在这个"MVC4实现文件上传的例子"中,我们将探讨如何在MVC4应用中实现文件上传功能,这对于任何处理用户上传内容的Web应用都是至关重要的。 首先,让我们了解文件上传的基本流程。在HTML表单中,我们可以使用`...

Global site tag (gtag.js) - Google Analytics