"在....">

当前位置:  技术问答>java相关

求文件上传/下载/显示的解决方法

    来源: 互联网  发布时间:2015-09-14

    本文导语:  想了解文件上传/下载/显示的具体实现方法,并有以下一些要求: 1. 将文件上传到服务器以Blob对象保存到oracle, 直接读取输入流后写进数据库,    不要采取"上传本地文件"->"在服务器端产生文件"->"读文件流"->"写...

想了解文件上传/下载/显示的具体实现方法,并有以下一些要求:
1. 将文件上传到服务器以Blob对象保存到oracle, 直接读取输入流后写进数据库,
   不要采取"上传本地文件"->"在服务器端产生文件"->"读文件流"->"写库"的方式. 要求在写进库之前,得到文件的名称,大小,在判断文件是否存在。
   
2. 用Servlet实现文件显示。

3. 从数据库读出Blob对象,生成流直接下载到客户端。不要使用
   "读取blob对象"->"在服务器目录下生成下载文件"的方式. 最好在界面上
   对文件链接可以"左键显示","右键保存下载".

4. 请不要使用jspsmartupload组件

望大虾们能给出解决的办法.

|
这样你需要了解浏览器端的编码方式,在传到服务器端时你才能解码。也才可以得到上传文件的相关信息。下面是别处取来的代码,一直没时间去看看,正好你可以研究一下,看是否有用。
package mshtang.fileUpload;
import java.io.*;
/**一个存放文件信息的类,包括文件的名称(String),
**字段名(String), Content-Type(String)和内容(byte[])
**还提供了一个直接将文件内容保存到一个文件的函数 void saveTo(File f)
**可以调用 类{@link ContentFactory}中的适当方法,生成该类的实例。
** @see ContentFactory
** @see ContentFactory#getFileParameter
** @see ContentFactory#getFileParameterValues
**/

public class FileHolder
{
    String contentType;
    byte[] buffer;
    String fileName;
    String parameterName;

    FileHolder(byte[] buffer, String contentType, String fileName, String parameterName)
    {
        this.buffer = buffer;
        this.contentType = contentType;
        this.fileName = fileName;
        this.parameterName = parameterName;
    }
    /**把文件的内容存到指定的文件中,
    **这个方法不会检查这个文件是否可写、是否已经存在。
    **@param file  目的文件
    **@throws 在 I/O 操作中被抛出的 IOException
    **/
    public void saveTo(File file) throws IOException
    {
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));
        out.write(buffer);
        out.close();
    }

    /**把文件的内容存到指定的文件中,
    **这个方法不会检查这个文件是否可写、是否已经存在。
    **@param name 目的文件名
    **@throws 在 I/O 操作中被抛出的 IOException
    **/
    public void saveTo(String name) throws IOException
    {
        saveTo(new File(name));
    }

   /**
    **返回一个文件内容的字节数组
    **@return 一个代表文件内容的字节数组
   **/
    public byte[] getBytes()
    {
        return buffer;
    }

   /**
    **返回该文件在文件上载前在客户端的名称
    **@return 该文件在文件上载前在客户端的名称
   **/
    public String getFileName()
    {
        return fileName;
    }

   /**
    **返回该文件的 Content-Type
    **@return 该文件的 Content-Type
   **/
    public String getContentType()
    {
        return contentType;
    }

   /**
    **返回上载该文件时,Html 页面窗体中 file 控件的 name 属性
    **@return 返回上载该文件时,Html 页面窗体中 file 控件的 name 属性
   **/
    public String getParameterName()
    {
        return parameterName;
    }
}

    
 
 

您可能感兴趣的文章:

  • Centos6下安装Shell下文件上传下载rz,sz命令
  • ftp 上传中的文件和上传完的文件 有什么区别
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 用SmartUpload类上传文件有大小限制吗??或者ENCTYPE='multipart/form-data'的form对于上传文件大小有限制??为什么大于1M的文件一上传就显示找不到页面啊!!
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 为什么我上传文件的时候,如果遇到文件名是中文的,虽然可以上传,但不可以下载,怎么解决?
  • 文件上传组件SWFUpload 介绍
  • 用SmartUpload上传文件时,最大能支持多大的文件上传?
  • http协议介绍,文件上传分析及程序举例
  • 100分求一个上传图片的bean,要求上传后能改变文件名称
  • linux ftp服务器端如何修改文件上传数目与上传字节数的限制?
  • 请问JSP里面怎样实现上传WORD和EXCEL文件,上传之后如何在IE里面调用显示!!!
  • jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
  • 在程序里调用ftp批处理(sh)上传文件,如何判断文件已成功上传
  • 在linux操作系统上向ftp服务器(linux系统)上上传文件,我要纪录操作日志,得到上传到ftp服务器上的文件的路径问题?
  • 我要做一个论坛,还要能做软件的上传和下载,文件的上传和下载,要求yizi给与帮助!!!
  • PHP大文件上传问题解析 php大文件上传配置参考
  • 高分相送,用jspsmartupload上传文件,在webshpere3。5环境里面很好用,但是在4。0里面就只能上传不超过7k的东东了,怎么解决这个问题,
  • 诸位,谁能给出将文件上传到数据库和文件夹的优劣?
  • .NET的file文件上传控件使用方法 修改web.config文件上传大文件
  • 怎样上传文件夹下的所有文件?
  • Java读写包括中文的txt文件时不同编码格式问题解决
  • 求助文件操作中修改文件中字段的问题,请大家帮忙解决
  • cocos2d中CCSpriteFrameCache文件同时存在两个plist的问题解决
  • 为什么在KNOME下复制文件时文件管理器经常崩溃?有何解决办法?
  • 访问JSP文件或者Servlet文件时提示下载的解决方法
  • ubuntu下修改 vim 配置 将 .inc 后缀文件 动态当作不同文件对待的解决办法
  • qt生成的EXE文件需要它本身的DLL文件才能执行。请问怎么解决
  • 一些文件未注册导致mssql表文件无法找开的解决方法
  • linux下copy文件通常又些文件名的大小写会发生变化的,而linux又对大小写敏感,如何解决这一问题
  • hp-ux上的裸设备文件怎么突然变成文件系统了,请高手解决。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux_centos_redhat下tar命令解压tgz文件方法
  • tar 压缩中文文件名的文件有问题,不能压缩,有什么其他方法吗?
  • mount命令(linux操作系统)挂载卸载文件系统(cifs,光驱,nfs等)方法介绍
  • 设置密码保护的SqlServer数据库备份文件与恢复文件的方法
  • Ubuntu程序开机自动启动设置(服务和自动运行配置文件)的几种方法
  • linux 二进制文件或其他不是文本文件的复制方法?
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 实现core文件自动生成配置文件的方法
  • 简单文件操作python 修改文件指定行的方法
  • mssql server 存储过程里,bulk insert table from '路径+文件',路径固定,文件名不固定的实现方法
  • 请教shell写文件方法
  • Python引用(import)文件夹下的py文件的方法
  • 用LKM写一个文件系统 挂载到系统中方法
  • 怎样动态调用.so文件中的类方法
  • applet可否读取本地gif文件?有没有什么方法?
  • 怎么监控文件的变化(不使用轮循的方法)
  • 求助:linux下有没有方法来恢复未知权限的文件的权限呢,在线等
  • nginx中文件下载指定保存文件名的配置方法
  • java判断远程服务器上的文件是否存在的方法
  • 请教MultipartRequest类(文件上传)的使用方法,多谢!多谢!多谢!
  • 我想用filechooser来选取一个文件,并把它调用在我的方法里。
  • C++ I/O 成员 eof():如果处于文件结尾处则返回true
  • Shell脚本如何递归现实一个文件夹中的文件(文件夹中含有文件夹)
  • WinDows8最新版文件夹加密
  • 求命令:什么命令可以把文件夹下所有的文件按修改时间先后排出来,包括子文件夹里的文件。
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • python异常信息堆栈输出到日志文件
  • 请问:proc中的头文件中能包含头文件吗?(感觉如果头文件中包含头文件的话,在链接时就会有错误啊)
  • 在MyEclipse中设开启xml文件自动提示和自动完成功能
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3