先上代码,写的jsp页面,后台是tomcat服务器,所以页面里有一些java的代码,如果后台用其他语言可以无视: 
复制代码代码如下: 
<%@ page language="java" contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%> 
<%@page import="java.io.*"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>上传、下载文件</title> 
<style type="text/css"> 
#filedrag { 
display: none; 
font-weight: bold; 
text-align: center; 
padding: 1em 0; 
margin: 1em 0; 
color: #555; 
border: 2px dashed #555; 
border-radius: 7px; 
cursor: default; 
} 
#filedrag.hover { 
color: #f00; 
border-color: #f00; 
border-style: solid; 
box-shadow: inset 0 3px 4px #888; 
} 
</style> 
</head> 
<body> 
<form id="upload" action="UploadServlet" enctype="multipart/form-data" 
method="post" onsubmit="return upLoad();"> 
<p> 
<label for="fileselect">file name:</label><input multiple="true" 
type="file" id="fileselect" name="fileselect[]" /> 
<div id="filedrag">或者将文件拖拽到这里</div> 
<div id="submitbutton"> 
<input type="submit" value="提交"> 
</div> 
</form> 
<div id="messages"> 
</div> 
<% //java代码,显示服务器上可以供下载的文件 
File f = new File("G://defggg/"); 
File[] list = f.listFiles(); 
for (int i = 0; i < list.length; ++i) { 
System.out.println(list[i].getName()); 
out.print("<a href='DownloadServlet?filename=" 
+ list[i].getName() + "'>" + list[i].getName() 
+ "</a><br/>"); 
} 
%> 
<script type="text/javascript"> 
var upfiles = new Array(); 
// getElementById 
function $id(id) { 
return document.getElementById(id); 
} 
// output information 
function Output(msg) { 
var m = $id("messages"); 
m.innerHTML = msg + m.innerHTML; 
} 
// file drag hover 
function FileDragHover(e) { 
e.stopPropagation(); 
e.preventDefault(); 
e.target.className = (e.type == "dragover" ? "hover" : ""); 
} 
// file selection 
function FileSelectHandler(e) { 
// cancel event and hover styling 
FileDragHover(e); 
// fetch FileList object 
var files = e.target.files || e.dataTransfer.files; 
// process all File objects 
for ( var i = 0, f; f = files[i]; i++) { 
ParseFile(f); 
upfiles.push(f); 
} 
} 
// output file information 
function ParseFile(file) { 
Output("<p>文件信息: <strong>" + file.name 
+ "</strong> 类型: <strong>" + file.type 
+ "</strong> 大小: <strong>" + file.size 
+ "</strong> bytes</p>"); 
} 
function upLoad() { 
if (upfiles[0]) { 
var xhr = new XMLHttpRequest(); //Ajax异步传输数据 
xhr.open("POST", "UploadServlet", true); 
var formData = new FormData(); 
for ( var i = 0, f; f = upfiles[i]; i++) { 
formData.append('myfile', f); 
} 
xhr.send(formData); 
xhr.onreadystatechange=function(e){ 
history.go(0); //由于这个页面还要显示可以下载的文件,所以需要刷新下页面 
} 
return false; 
} 
} 
// initialize 
function Init() { 
var fileselect = $id("fileselect"), filedrag = $id("filedrag"), submitbutton = $id("submitbutton"); 
// file select 
fileselect.addEventListener("change", FileSelectHandler, false); 
// is XHR2 available? 
var xhr = new XMLHttpRequest(); 
if (xhr.upload) { 
// file drop 
filedrag.addEventListener("dragover", FileDragHover, false); 
filedrag.addEventListener("dragleave", FileDragHover, false); 
filedrag.addEventListener("drop", FileSelectHandler, false); 
filedrag.style.display = "block"; 
// remove submit button 
//submitbutton.style.display = "none"; 
} 
} 
// call initialization file 
if (window.File && window.FileList && window.FileReader) { 
Init(); 
} 
</script> 
</body> 
</html> 
附上后台处理上传下载的servlet,用了smartUpLoad,不能很好的解决中文问题: 
复制代码代码如下: 
package com.hit.software; 
import java.io.IOException; 
import javax.servlet.ServletConfig; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import com.jspsmart.upload.Files; 
import com.jspsmart.upload.SmartUpload; 
/** 
* Servlet implementation class UploadServlet 
*/ 
@WebServlet("/UploadServlet") 
public class UploadServlet extends HttpServlet { 
private static final long serialVersionUID = 1L; 
private ServletConfig config; 
final public void init(ServletConfig config) throws ServletException { 
this.config = config; 
} 
/** 
* @see HttpServlet#HttpServlet() 
*/ 
public UploadServlet() { 
super(); 
// TODO Auto-generated constructor stub 
} 
/** 
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse 
* response) 
*/ 
protected void doGet(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException { 
doPost(request, response); 
} 
/** 
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse 
* response) 
*/ 
protected void doPost(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException { 
request.setCharacterEncoding("UTF-8"); 
// String s = request.getParameter("pic"); 
// System.out.println(s); 
SmartUpload mySmartUpload = new SmartUpload(); 
try { 
mySmartUpload.initialize(config, request, response); 
mySmartUpload.setMaxFileSize(150 * 1024 * 1024); 
mySmartUpload.setTotalMaxFileSize(150 * 1024 * 1024); 
// mySmartUpload.setAllowedFilesList("doc,txt,rar,pdf,png"); 
mySmartUpload.setDeniedFilesList("exe"); 
mySmartUpload.upload(); 
Files f = mySmartUpload.getFiles(); 
int size = f.getCount(); 
for (int i = 0; i < size; ++i) { 
String fileName = mySmartUpload.getFiles().getFile(i) 
.getFileName(); 
fileName = new String(fileName.trim().getBytes(), "UTF-8"); //能解决部分中文问题 
System.out.println("filename=" + fileName); 
if (!fileName.equals("")) { 
String path = "g:/defggg/" + fileName; 
f.getFile(i).saveAs(path, SmartUpload.SAVE_PHYSICAL); 
} 
} 
} catch (Exception e) { 
e.printStackTrace(); 
System.out.println("Unable to upload the file."); 
System.out.println("Error :" + e.toString()); 
} 
response.sendRedirect("index.jsp"); 
} 
} 
复制代码代码如下: 
package com.hit.software; 
import java.io.File; 
import java.io.IOException; 
import javax.servlet.ServletConfig; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.jsp.JspFactory; 
import javax.servlet.jsp.JspWriter; 
import javax.servlet.jsp.PageContext; 
import com.jspsmart.upload.SmartUpload; 
import com.jspsmart.upload.SmartUploadException; 
/** 
* Servlet implementation class DownloadServlet 
*/ 
@WebServlet("/DownloadServlet") 
public class DownloadServlet extends HttpServlet { 
private static final long serialVersionUID = 1L; 
private ServletConfig config; 
/** 
* @see HttpServlet#HttpServlet() 
*/ 
public DownloadServlet() { 
super(); 
// TODO Auto-generated constructor stub 
} 
final public void init(ServletConfig config) throws ServletException { 
this.config = config; 
} 
/** 
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse 
* response) 
*/ 
protected void doGet(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException { 
doPost(request, response); 
} 
/** 
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse 
* response) 
*/ 
protected void doPost(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException { 
request.setCharacterEncoding("UTF-8"); 
String fileName = request.getParameter("filename"); 
System.out.println("down :"+fileName); 
if (fileName == null) { 
response.sendRedirect("index.jsp"); 
return; 
} 
fileName = "G://defggg//" + fileName; 
File f = new File(fileName); 
if (f.exists() && f.isFile()) { 
SmartUpload su = new SmartUpload(); 
su.initialize(config, request, response); 
su.setContentDisposition(null); 
try { 
su.downloadFile(fileName); 
} catch (SmartUploadException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 
} else { 
response.sendRedirect("index.jsp"); 
return; 
} 
} 
} 
拖拽文件,浏览器,上传下载
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
                        


