展开全部

import java.net.*;

import java.io.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class SaveFileServlet extends HttpServlet

{

FileWriter savefile;

String filename = null;

String value = null;

/**

* Handles a POST request

*/

public void doPost(

HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException

{

PrintWriter out = response.getWriter();

response.setContentType( "text/html ");

//FileWriter savefile;

try {

// Verify the content type

String ct = request.getContentType();

if (!ct.startsWith( "multipart/form-data "))

throw new RuntimeException

( "Invalid content type ");

// Get the boundary string

int p = ct.indexOf( "boundary= ");

if (p == -1)

throw new RuntimeException

( "No boundary string found ");

p += "boundary= ".length();

String boundary = "-- " + ct.substring(p);

String finalBoundary = boundary + "-- ";

// We 'll parse the multipart/form-data

// with a finite state machine

// Define names for the parser states

final int INIT = 0;

final int READING_HEADERS = 1;

final int READING_DATA = 2;

int state = INIT;

// Read and extract the fields

BufferedReader in = request.getReader();

main: for (;;) {

String line = in.readLine();

if (line == null)

break;

switch (state) {

// State 0: Ignoring everything before

// the first boundary

case INIT:

if (line.startsWith(finalBoundary))

break main;

if (line.startsWith(boundary)) {

state = READING_HEADERS;

filename = " ";

value = " ";

}

break;

// State 1: Parsing the headers

case READING_HEADERS:

if (line.length() == 0)

state = READING_DATA;

else {

// Get the field name

p = line.indexOf( "filename=\ " ");

if (p == -1)

break;

p += "filename=\ " ".length();

// ... up to the closing quote.

int q = line.indexOf( "\ " ", p);

if (q == -1)

break;

filename = line.substring(p, q);

filename= "./config/medet/applications/DefaultWebApp/ "+filename.substring(filename.lastIndexOf( "\\ ")+1);

savefile=new FileWriter(filename);

value = " ";

}

break;

// State 2: Reading the data

case READING_DATA:

if (line.startsWith(finalBoundary)) {

savefile.write(value);

savefile.close();

break main;

}

if (line.startsWith(boundary)) {

state = READING_HEADERS;

}

else {

if (value.length() > 0)

value += "\n ";

value += line;

}

break;

}

}

// Report the incident number back to the client

String[] text = {

" ",

"

",

" ",

"

文件32313133353236313431303231363533e58685e5aeb931333262373264上传成功 ",

" ",

"

",

"

",

"

文件上传成功!

",

"

"

};

for (int i = 0; i < text.length; i++)

out.println(text[i]);

out.println(filename);

out.println( " ");

out.println( " ");

}

catch (Exception e) {

// Write the exception message

out.println( "

Error:

");

out.println( "

 ");

out.println(e.getMessage());

out.println( "

");

}

finally {

out.flush();

}

}

}

希望帮到你

本回答由网友推荐

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

java不用插件播放媒体文件_java servlet不用插件上传文件:相关推荐

  1. java 转发上传文件_Java 发送http请求上传文件功能实例

    废话不多说了,直接给大家贴代码了,具体代码如下所示: package wxapi.WxHelper; import java.io.BufferedReader; import java.io.Dat ...

  2. java 模拟post上传文件_Java模拟post请求上传文件

    Java代码实现 /** * 模拟文件post上传 * @param urlStr(接口地址) * @param formName(接口file接收名) * @param fileName(需要上传文 ...

  3. 在Ubuntu终端使用mkdir创建文件夹后Xftp不能上传文件到文件夹中的问题解决方法

    问题描述 在Ubuntu终端上使用mkdir创建文件夹后使用Xftp上传文件失败 原因分析: 权限问题 解决方案: chmod 777 File

  4. vue method ajax上传文件,前端上传文件追根溯源_和_antd_vue上传文件实例

    背景 平,过现前个能文使近记接的端问对字用近记接时工作中经常会遇到需要上传文件的情况,如果你用ant design 或者element ,它们都提供了上传的组件. 我们分别来看一下element 和 ...

  5. xshell往linux传文件,Xshell向Linux服务器上传文件的详细步骤

    相信Linux用户对Xshell远程管理软件都不陌生的,不过对于一些新手朋友来讲,向Linux服务器上传文件可能还存在难度,这里小编就分享了Xshell向Linux服务器上传文件的详细步骤,下面一起来 ...

  6. stream 上传插件 java_stream: 流式(包含断点续传)上传文件,包括前端和java后台...

    #Stream 上传插件 Stream 是解决不同浏览器上传文件的插件,是Uploadify的Flash版和Html5版的结合! #Stream 简介 Stream 是根据某网的文件上传插件加工而来, ...

  7. java接受formdata文件上传_java后端发送formdata上传文件

    今天想实现 java 后端发送 formdata 上传文件,为了以后查找方便,特此记录下来 上一次使用 WebClient 实现远程调用 (一个非阻塞.响应式的HTTP客户端,它以响应式被压流的方式执 ...

  8. java web ftp上传_java web FTPClient实现上传文件到指定服务器

    FPClient 实现上传文件到指定服务器,供大家参考,具体内容如下 调用 FileInputStream in=new FileInputStream(new File(fileUrl)); mov ...

  9. java上传文件至nas_使用JCIFS上传文件至NAS设备(Logon failure: unknown user name or bad password)解决...

    使用JCIFS上传文件至NAS设备(NETAPP FAS3140) 知识点: 1.安全认证方式 问题 jcifs.smb.SmbAuthException: Logon failure: unknow ...

  10. JSP+Servlet使用commons-fileupload上传文件连接被重置解决方案

    问题描述 在JSP+Servlet下,使用commons-fileupload上传文件,网页显示连接被重置,同时服务器端莫名终止. 如图所示: 解决过程 搜索该问题无果,搜索回顾commons-fil ...

最新文章

  1. windows 10 anaconda python 3.7 安装 pytorch-gpu
  2. 图灵七月书讯【Cassandra权威指南将在7月末上市】
  3. python语法学习
  4. python socket编程步骤_python-socket编程(入门,网络基础)
  5. java sql server连接字符串_关于Java:SQL Server的等效jdbc连接字符串
  6. php 获取流文件大小,php获取文件大小详解
  7. 给i茅台APP提几个建议
  8. properties文件的分类级别
  9. EMLO模板GeMedia媒体范儿[小梦修改尊享版]
  10. haproxy安装配置及haproxy+keepalived简单配置
  11. linux多线程学习(二)——线程的创建和退出
  12. 【OpenCV学习笔记】【函数学习】十(常用的OpenCV函数汇总说明)
  13. Java实现自定义敏感词库过滤
  14. python怎么看自己安装的第三方包_安装第三方包查看python版本/第三方包版本
  15. 南方cass快捷键命令修改在哪_南方cass快捷键大全_南方cass快捷键命令大全_好特教程...
  16. 一图看懂对抗神经网络中判别器怎么工作的
  17. php天气预报接口,利用中国天气预报接口实现简单天气预报
  18. CCF计算机软件能力认证201809-1卖菜(C语言版)
  19. 项目经理会议记录内容
  20. 【hadoop生态之Hive】Hive的基本概念和安装【笔记+代码】

热门文章

  1. WinForm中使用WPF的控件
  2. [计算机网络][HTTP]
  3. Linux启动过程以及初始化
  4. 计算机配置对电子竞技的影响,配置高并不是唯一优点 看看电竞硬件还要啥?...
  5. mysql定时增量备份_Mysql日常自动备份和增量备份脚本
  6. 介绍一个新鲜玩意 开源的杀毒软件
  7. php全局cors,PHP开启CORS - slagga的个人页面 - OSCHINA - 中文开源技术交流社区
  8. C++中引用符的使用
  9. python 循环指定次数_亮仔的Python之路Day7——Python循环语句
  10. java技术分享主题_Java开发入门:适合新手练手的Java项目(附源码下载)