热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

用jsp编写文件上载

用jsp编写文件上载
如果你曾用VB编写文件上传的组件的话,那么用JAVA编写文件上传的JAVABEAN十分容易。
下面的例子只是一个简版
package yuanyifileup;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.PageContext;

public class yuanyifileup
{
private ServletRequest request;
private ServletResponse response;
private ServletConfig config;
ServletInputStream DATA;
int FormSize;
File f1;
FileOutputStream os;
DataInputStream is;
String filename;
byte[] b;
byte t;
boolean flag=false;
public yuanyifileup()
{ }
public void initialize(ServletConfig config,HttpServletRequest request,HttpServletResponse response) throws IOException
{
this.request=request;
this.respOnse=response;
this.cOnfig=config;
DATA = request.getInputStream();
FormSize=request.getContentLength();
}
public void initialize(PageContext pageContext) throws IOException
{
request=pageContext.getRequest();
respOnse=pageContext.getResponse();
cOnfig=pageContext.getServletConfig();
DATA = request.getInputStream();
FormSize=request.getContentLength();
}
public boolean setFilename(String s)
{
try
{
File f1=new File(s);
os=new FileOutputStream(f1);
}
catch(IOException e)
{return(false);}
return(true);
}
public void getByte()
{
int i=0;
try
{
is=new DataInputStream(DATA);
b=new byte[FormSize];

while (true)
{
try
{
t=is.readByte();
b[i]=t;
i++;
}
catch(EOFException e)
{ break;}
}
is.close();}
catch(IOException e)
{}
}

public boolean save()
{
int i=0,start1=0,start2=0;
String temp="";
if (!flag)
{
getByte();
flag=true;
}
try
{
temp=new String(b,"ISO8859_1");
}
catch(UnsupportedEncodingException e)
{return(false);}

start1=temp.indexOf("image/");
temp=temp.substring(start1);

start1=temp.indexOf("\r\n\r\n");

temp=temp.substring(start1+4);
start2=temp.indexOf(";\r\n");
if (start2!=-1)
{
temp=temp.substring(0,start2);
}
try
{
byte[] img=temp.getBytes("ISO8859_1");
for (i=0;i{ os.write(img[i]); }
os.close();
}
catch(IOException e)
{return(false);}

return(true);

}
如果有不明白的发E-Mail:yymailbox@263.net.Bye

}


推荐阅读
  • Linux——K8s集群监控
    K8s环境masternode01node02192.168.1.40192.168.1.41192.168.1.42dashboard1.下载dashboard的yaml文 ... [详细]
  • 如何在React应用中实现reCAPTCHA
    如何在React应用中实现reCAPTCHA-在这篇文章中,我们将演示如何在React应用程序中实现reCAPTCHAv2,以及如何在Node.js后端验证用户令牌。跳到前面。 ... [详细]
  • 这个问题可能会被问到,但这并不能解决我的问题multi-select。在我的angular项目中drop-do ... [详细]
  • SQL索引失效
    2019独角兽企业重金招聘Python工程师标准1.索引好处1.提高数据检索效率,降低数据库IO成本2.通过索引列对数据排序,降低数据排序成本&# ... [详细]
  • 文章目录一、map1.特性1.1键值对,键可以是对象。1.2.Map可以接受数组作为参数(批量插入)2.属性和方法3.遍历4.和其它结构的互转二、set1.特性2.属 ... [详细]
  • http:blog.sina.com.cnsailingxrfree:这个博客主页的内容不错PC的足迹arm与x86浅谈PCIe体系架构浅谈cachememory转载 ... [详细]
  • 1什么是Ocelot?Ocelot是一个用.NETCore实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务 ... [详细]
  • 这篇主要介绍在这次项目中使用的peewee文档地址:首先我们要初始化一个数据库连接对象。这里我使用了peewee提供的链接池。当然你也可以直接指定连接例如: ... [详细]
  • git开发场景
    git开发场景3.基于git的合作开发对于酷讯来说,当我们采用了Git,如何进行合作开发呢?具体步骤如下:3.1获取最新代码 ... [详细]
  • 1.pwd(printworkingdirectory)打印当前工作空间--打印当前--2.ls ... [详细]
  • webrtc学习笔记三:webrtc架构
    文章目录 ... [详细]
  • 开始写点东西了。。。。
    博客园的博客申请下来了,有自己的博客了,刚开始的时候也许,粘贴的比较多一点,但是我相信慢慢会好起来的,加油敏敏 ... [详细]
  • 攻击者_influxdb 未授权访问
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了influxdb未授权访问相关的知识,希望对你有一定的参考价值。influxdb未授权访问 ... [详细]
  • 集合排序TreeSet
    从视频中学得:集合排序需要注意两点:(1)传入对象要自己能排序(自己提供排序方法); ... [详细]
  • PHP下几种删除目录办法总结【PHP】
    后端开发|php教程PHP下几种删除目录的方法总结后端开发-php教程呵呵,忽然一个朋友问我如何删除目录,比如下面有文件呢,我说用递规呀,他说太慢了。于是就总结出了下面几种办法。什 ... [详细]
author-avatar
乖乖雯莉_775
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有