java不用插件播放媒体文件_java servlet不用插件上传文件:

展开全部

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();

}

}

}

希望帮到你

本回答由网友推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第八节:语法总结(2)(匿名类、匿名方法、扩展方法)

一. 匿名类 1. 传统的方式给类赋值&#xff0c;需要先建一个实体类→实例化→赋值&#xff0c;步骤很繁琐&#xff0c;在.Net 3.0时代&#xff0c;微软引入匿名类的概念&#xff0c;简化了代码编写&#xff0c;提高了开发效率。 匿名类的声明语法&#xff1a; var objnew {字段…

java 里面matches什么意思_Java Regex中的matches()和find()之间的区别

如果完整string匹配&#xff0c; matches()将只返回true。 find()会尝试find匹配正则expression式的子string中的下一个匹配项。 注意强调“下一个”。 这意味着&#xff0c;多次调用find()的结果可能不一样。 另外&#xff0c;通过使用find()你可以调用start()来返回子string匹…

第九节:委托和事件(1)(委托的发展历史、插件式编程、多播委托)

一. 委托的发展历史和基本用法 说起委托&#xff0c;每个人可能都会对他有不同的理解&#xff0c;结合实战中委托的使用&#xff0c;我对其理解是&#xff1a;委托和类一样&#xff0c;是用户的一个自定义类型&#xff0c;委托可以有参数、有返回值&#xff0c;委托的关键字是d…

java为什么不使用odbc_java jdbc和odbc的区别是什么?jdbc和odbc的关系是怎样的?

对于jdbc和odbc你都了解多少呢?今天要给大家讲到的就是jdbc和odbc之间的内容&#xff0c;一起来了解一下jdbc和odbc的区别以及关系是怎样的吧!下面先来给大家介绍一下jdbc和odbc之间的区别。总的来说&#xff0c;jdbc和odbc的区别可以划分成三大部分&#xff0c;一起来看看。一…

第十节:委托和事件(2)(泛型委托、Func和Action、事件及与委托的比较)

一. 泛型委托 所谓的泛型委托&#xff0c;即自定义委托的参数可以用泛型约束&#xff0c;同时内置委托Func和Action本身就是泛型委托。 将上一个章节中的Calculator类中的方法用自定义泛型委托重新实现一下。 1 public class Calculator22 {3 //传统解决方案一&am…

java中sql之count_按SQL Server中的count()子句分组

我正在尝试编写一个SQL查询&#xff0c;它将返回聚合值列表;但是&#xff0c;我想通过其中一个聚合值(计数)对查询进行分组&#xff1a;select t.Field1, count(distinct(t.Field2), SUM(t.Value1)from MyTable tgroup by t.Field1, count(t.Field2)我已经尝试将计数放入子查询…

java+sm4+加密算法_SM4加密算法实现Java和C#相互加密解密

https://www.cnblogs.com/miaoziblog/p/9040473.html近期由于项目需要使用SM4对数据进行加密&#xff0c;然后传给Java后台&#xff0c;Java后台使用的也是SM4的加密算法但是就是解密不正确&#xff0c;经过一步步调试发现Java中好多数据类型与C#的相同的数据类型是存在不同的比…

用java设计节拍器_具有高速的Java节拍器

关于Thread.sleep()不可靠的答案是正确的&#xff1a;你不能指望它完全返回你指定的时间.事实上,我很惊讶你的节拍器可以使用,特别是当你的系统负载不足时.阅读Thread.sleep()的文档以获取更多详细信息.关于MIDI的Max Beikirch的答案是一个很好的建议&#xff1a;MIDI处理时机非…

java隐藏密钥_java – 在Android中隐藏密钥库密码的最佳方法是什么?

我是Android开发和实现SSLSockets的新手.在做了一些挖掘后,我能够设置一个正常工作的简单服务器/客户端.我认为实现可以使用一些工作,并且难以将密码加载到密钥库而不用纯文本.这是客户端的一些代码.如您所见,我将密码硬编码到本地var中.是否有更好的方法加载密钥库密码,所以我…

DotNet进阶系列

一. 回顾历史 回顾个人发展历程&#xff0c;自2012年初次接触开发至今(2018年)已经有六个年头&#xff0c;这期间陆陆续续学习并掌握了不少技术&#xff0c;C#语言、ORM框架、多线程技术、设计模式、前端技术、MVC、MVVM框架思想等等&#xff0c;每种技术随着多次使用&#xff…

美团科技 Java工程师_美团Java工程师面试题(2018秋招)

第一次面试1.小数是怎么存的2.算法题&#xff1a;N二进制有多少个13.Linux命令(不熟悉4.JVM垃圾回收算法5.C或者伪代码实现复制算法6.volatile7.树的先序中序后序以及应用场景8.Mysql存储记录的数据结构9.索引数据结构10.为什么不用AVL和红黑树存&#xff1f;11.说实习项目12.r…

第十一节:特性(常见的特性标签、自定义特性、特性的使用案例)

一. 基本概念 1. 什么是特性? MSDN官方给出的定义时&#xff1a;公共语言运行时允许添加类似关键字的描述声明&#xff0c;叫做特性&#xff0c;它对程序中的元素进行标注&#xff0c;如类型、字段、方法和属性等。Attribute和Microsoft .Net Framework文件的元数据&#xff…

java不建议用全局变量吗_不要使用全局变量, ThreadLocal也不行

不要使用全局变量的道理大家都懂&#xff0c;基本上在大家学习编程过程中很早就会被教育到&#xff0c;但是有时候我们也会禁不住诱惑用到一些似非实是的全局变量&#xff0c;只不过这些全局变量会穿上马甲&#xff0c;让你不会一下看穿它的巨大危害&#xff0c;这里就讲一下我…

第十二节:Lambda、linq、SQL的相爱相杀(1)

一. 谈情怀 Lambda、Linq、SQL伴随着我的开发一年又一年&#xff0c;但它们三者并没有此消彼长&#xff0c;各自占有这一定的比重&#xff0c;起着不可替代的作用。 相信我们最先接触的应该就是SQL了&#xff0c;凡是科班出身的人&#xff0c;大学期间都会学习SQL Server数据库…

php java 共享session_PHP 实现多服务器共享 SESSION 数据

一、问题起源稍大一些的网站&#xff0c;通常都会有好几个服务器&#xff0c;每个服务器运行着不同功能的模块&#xff0c;使用不同的二级域名&#xff0c;而一个整体性强的网站&#xff0c;用户系统是统一的&#xff0c;即一套用户名、密码在整个网站的各个模块中都是可以登录…

第十三节:Lambda、linq、SQL的相爱相杀(2)

一. Linq开篇 1.Where用法 linq中where的用法与SQL中where的用法基本一致。 1 #region 01-where用法2 {3 //1. where用法4 //1.1 查询账号为admin的用户信息5 Console.WriteLine("------------…

asp 调用java文件上传_用asp实现文件浏览、上传、下载的程序

可以放在服务器上&#xff0c;对服务器上的文件进行浏览、上传、下载&#xff0c;可下载文件源码。把下所有代码入在一个文件里即可&#xff0c;文件的后缀要为asp。thedir request("thedir")if thedir "" thenfolderini server.mappath(".")…

第十四节:Lambda、linq、SQL的相爱相杀(3)

一. SQL 开篇 1. where用法 1    #region 封装EF调用SQL语句查询 2 public static List<T> ExecuteQuery<T>(string sql, params SqlParameter[] pars) 3 { 4 return db.Database.SqlQuery<T>(sql, pars).ToList(); 5 …

hive mysql windows_Java-从MySQL到Hive导入,其中MySQL在Windows上运行,而Hive在Cent OS上运行(Horton Sandbox)...

在任何答案和评论之前.我尝试了在Stackoverflow中找到的几个选项,但均以失败告终.以下是这些链接-我通过命令行在Horton Sandbox中进行了尝试并成功.sqoop import --connect jdbc:mysql://192.168.56.101:3316/database_name --usernameuser --passwordpwd --table table_name …

第十五节:Expression表达式目录树(与委托的区别、自行拼接、总结几类实例间的拷贝)

一. 基本介绍 回忆&#xff1a; 最早接触到表达式目录树(Expression)可能要追溯到几年前使用EF早期的时候&#xff0c;发现where方法里的参数是Expression<Func<T,bool>>这么一个类型&#xff0c;当初不是很理解&#xff0c;只是知道传入lambda表达式使用即可&…