package cn.com.henan.net.servlet;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;
import cn.com.henan.socket.MobileNumberErrerExce;
import cn.com.henan.socket.newsDetailSMS;
import cn.com.henan.socket.newsSockBase;
import cn.com.henan.util.DelFileUtil;
import cn.com.henan.util.readTxtData;
public class DetailSMSverlet extends HttpServlet {
//彩信发送
private static final long serialVersionUID = 1L;
public DetailSMSverlet() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public byte[] gbk2utf8(String chenese){
char c[] = chenese.toCharArray();
byte [] fullByte =new byte[3*c.length];
for(int i=0; i<c.length; i++){
int m = (int)c[i];
String word = Integer.toBinaryString(m);
// System.out.println(word);
StringBuffer sb = new StringBuffer();
int len = 16 - word.length();
//补零
for(int j=0; j<len; j++){
sb.append("0");
}
sb.append(word);
sb.insert(0, "1110");
sb.insert(8, "10");
sb.insert(16, "10");
// System.out.println(sb.toString());
String s1 = sb.substring(0, 8);
String s2 = sb.substring(8, 16);
String s3 = sb.substring(16);
byte b0 = Integer.valueOf(s1, 2).byteValue();
byte b1 = Integer.valueOf(s2, 2).byteValue();
byte b2 = Integer.valueOf(s3, 2).byteValue();
byte[] bf = new byte[3];
bf[0] = b0;
fullByte[i*3] = bf[0];
bf[1] = b1;
fullByte[i*3+1] = bf[1];
bf[2] = b2;
fullByte[i*3+2] = bf[2];
}
return fullByte;
}
private String utf8Togb2312(String str){
StringBuffer sb = new StringBuffer();
for(int i=0; i<str.length(); i++) {
char c = str.charAt(i);
switch (c) {
case '+':
sb.append(' ');
break;
case '%':
try {
sb.append((char)Integer.parseInt(
str.substring(i+1,i+3),16));
}
catch (NumberFormatException e) {
throw new IllegalArgumentException();
}
i += 2;
break;
default:
sb.append(c);
break;
}
}
// Undo conversion to external encoding
String result = sb.toString();
String res=null;
try{
byte[] inputBytes = result.getBytes("8859_1");
res= new String(inputBytes,"UTF-8");
}
catch(Exception e){}
return res;
}
//彩信发送
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
String action = request.getParameter("action");
if("number".equals(action)){
String mbNumber= request.getParameter("mbNumber");
String[]mbNumbers = mbNumber.split(";");
String mmsid= new String ( request.getParameter("mmsid").getBytes("ISO-8859-1"),"utf-8") ;
byte b[]=mmsid.getBytes(Charset.forName("gb2312"));
// java.net.URLDecoder.decode("name", "UTF-8");
System.out.println(mmsid);
// System.out.println("mmsid:"+new String (mmsid.getBytes("ISO-8859-1"),"utf-8") );
System.out.println("mbNumber:"+ mbNumber );
//byte b[]="亀井金融相1".getBytes(Charset.forName("UTF8")); //SHIFT_JIS 日文编码
// System.out.println(b.length);
newsSockBase newsTask = new newsSockBase();
newsTask.setIPandPort("20.0.0.31", 8888);
newsDetailSMS SMS = new newsDetailSMS();
SMS.setType(4);
SMS.setMessages(mmsid);
SMS.setMessagesL(b.length );
SMS.setIsdnL(mbNumbers.length);
SMS.setIsdn(mbNumbers);
newsTask.start(SMS);
System.out.println("彩信SMS.getResultMessage()"+SMS.getResultMessage());
writer.print("{success:true,result:'"+ SMS.getResultMessage()+ "'}");
}else if("upfile".equals(action)){
System.out.println("upfile");
String savePath=request.getRealPath("\\upload");
//System.out.println(savePath);
SmartUpload mySmartUpload = new SmartUpload();
//String currentDirectoryPath=null;
mySmartUpload.setForcePhysicalPath(true);
mySmartUpload.initialize(this.getServletConfig(), request,response);
// 1.限制每个上传文件的最大长度。10M
mySmartUpload.setMaxFileSize(10000000);
// 3.设定允许上传的文件(通过扩展名限制),仅允许 txt文件。
mySmartUpload.setAllowedFilesList("txt");
com.jspsmart.upload.SmartFile file=null;
try {
mySmartUpload.upload("utf-8");
} catch ( SecurityException e1) {
} catch (NegativeArraySizeException e1) {
} catch (SmartUploadException e1) {
e1.printStackTrace();
}
com.jspsmart.upload.SmartRequest req = mySmartUpload.getRequest();
// System.out.println(request.getCharacterEncoding());
String test= req.getParameter("messageDetail");
/* String mmsid= new String ( test.getBytes("gbk"),"ISO-8859-1") ;
String mmsid2= new String ( mmsid.getBytes("ISO-8859-1"),"utf-8") ;
System.out.println("mmsid2"+mmsid2);*/
//System.out.println( mmsid );
// String mmsid= utf8Togb2312(test);
String mmsid= new String ( test.getBytes("utf-8"),"ISO-8859-1") ;
String mmsid2= new String ( mmsid.getBytes("ISO-8859-1"),"utf-8") ;
System.out.println("mmsid2"+mmsid2);
byte b[]=mmsid2.getBytes(Charset.forName("gb2312"));
/*-------------------------删除指定目录下的文件begin---------------------------------*/
DelFileUtil.delAllFile(savePath);
/*------------------------删除指定目录下的文件end-----------------------------------*/
/*------------------------保存上传的文件 begin-----------------------------------*/
//保存文件
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
file = mySmartUpload.getFiles().getFile(i);
if (file.isMissing()) continue;
try {
file.saveAs("/upload/" + file.getFileName());
} catch (SmartUploadException e){
e.printStackTrace();
}
}
/*------------------------保存上传的文件 end-----------------------------------*/
List<String> messages = new ArrayList <String>();
String Isdns[]=null;
readTxtData readTD = new readTxtData();
System.out.println(savePath+"\\"+file.getFileName());
readTD.setTxtPath( savePath+"\\"+file.getFileName() );
try {
Isdns =readTD.readTxtPath("");
}
catch(FileNotFoundException f){
f.printStackTrace();
System.out.println("找不到文件");
return;
}
catch (IOException e1){
e1.printStackTrace();
} catch (MobileNumberErrerExce e){
//writer.print("{success:true,mobileNewspaper:'"+ "" +"',optype:'"+" "+"', opresult:'"+"号码格式错误"+"'}");
return ;
}
newsSockBase newsTask = new newsSockBase();
newsTask.setIPandPort("20.0.0.31", 8888);
//短信发送
newsDetailSMS SMS = new newsDetailSMS();
SMS.setType(4);
SMS.setMessages(mmsid2);
SMS.setMessagesL(b.length );
SMS.setIsdnL(Isdns.length);
SMS.setIsdn(Isdns);
newsTask.start(SMS);
System.out.println("彩信SMS.getResultMessage()"+SMS.getResultMessage());
writer.print("{success:true,result:'"+ SMS.getResultMessage()+ "'}");
}
}
}
java上传文件
分享到:
相关推荐
**JSpsmartupload组件**是一个基于Java的上传文件解决方案,主要应用于JSP(Java Server Pages)环境中。这个组件提供了一种简单且强大的方式来处理用户通过网页上传的文件。在标题和描述中提到的,该组件的核心是用...
最近实验室做了一个项目,使用jspsmartupload来实现的文件的上传下载,原来在windows平台运行的挺好,但是后来系统移植到linux平台上,结果在上传或下载的文件名中有中文时就会出现乱码。后来查了网上一些人的解决...
"jspSmartUpload.jar下载.rar"这个标题和描述暗示了我们讨论的主题是关于一个Java Servlet页面(JSP)上的文件上传功能。`jspSmartUpload.jar`是一个库文件,通常用于帮助开发者在JSP应用中实现文件上传功能。`.rar`...
在本文中,我们将深入探讨如何使用JSP与jspsmartupload控件将图片上传到数据库。jspsmartupload是一款强大的JSP文件上传组件,能够帮助开发者处理用户通过表单提交的多个文件。以下是对这个技术栈的详细解析: 1. *...
`jspSmartUpload`是一个非常实用的库,它简化了处理文件上传和下载的复杂性。本文将深入探讨如何使用`jspSmartUpload`来实现这两个功能,并详细解释其工作原理和相关知识点。 首先,`jspSmartUpload`是一个基于Java...
采用jspSmartUpload 组件实现的上传下载的完整实例 下载即可运行,但是这个压缩包不支持中文名称的文件下载功能,我上传了一个可以下载中文的不会乱码的jspSmartUpload 组件,网址:...
使用jspSmartUpload组件在jsp中实现上传和下载 在现代Web开发中,文件上传与下载是常见的需求之一,尤其在企业级应用、个人博客、图片分享等场景中尤为重要。jspSmartUpload作为一款专为JSP设计的文件上传组件,以...
**jspSmartUpload源码解析与使用指南** **一、jspSmartUpload简介** `jspSmartUpload`是一款基于Java的上传组件,适用于JSP环境,能够帮助开发者实现文件上传功能。它支持多文件上传、断点续传、文件大小限制以及...
解压后,将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,这样一改jspSmartUpload类才能使用。因为Tomcat对文件名大小写敏感,它要求Web应用程序相关的类所在目录为WEB-INF,且必须是大写。...
《JSPSmartUpload组件:实现JSP文件上传与下载的核心技术解析》 在Web开发中,文件上传和下载功能是不可或缺的一部分,特别是在交互性较强的网页应用中。JSPSmartUpload组件,作为一个强大的工具,专为JSP页面设计...
### jspSmartUpload的使用详解 #### 一、概述 jspSmartUpload是由www.jspsmart.com网站开发的一款功能全面的文件上传与下载组件,适用于嵌入到执行上传下载操作的JSP文件中。该组件提供了简便易用的功能,极大地...
**JSpsmartUpload详解与应用实例** JSpsmartUpload是一款基于Java的文件上传组件,它在Web开发中扮演着重要角色,特别是在处理用户通过表单提交的文件时。这款库支持多文件上传、大文件上传,并且能很好地处理中文...
`jspSmartUpload` 是一个基于Java的开源上传组件,它为JSP开发人员提供了一种简单易用的方式来处理文件上传功能。这个组件在早期的Web应用程序中尤其常见,因为其强大的功能和对多种浏览器的良好兼容性。在本文中,...
**JSpsmartupload简介** JSpsmartupload是一个用于Java Web应用中的上传组件,它使得在JSP页面上处理文件上传变得简单。这个组件基于Servlet API,可以方便地集成到任何Servlet容器,如Tomcat、Jetty等,并且支持多...
jspSmartUpload是一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点: 1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。 2...
`jspSmartUpload` 是一个在JSP(Java Server Pages)环境下广泛使用的上传下载组件,它基于Java技术,提供了强大的文件上传和下载功能。本文将深入探讨`jspSmartUpload`组件的工作原理、主要特性以及如何在实际项目...
`jspSmartUpload` 是一个经典的Java Web上传下载组件,主要应用于JSP(JavaServer Pages)页面,便于开发者实现在网页上进行文件的上传和下载功能。这个组件简化了处理用户通过Web表单上传文件的复杂过程,提供了一...
### jspSmartUpload 使用教程 #### 一、安装与配置 **jspSmartUpload** 是一个功能强大的文件上传组件,主要用于简化Java Web应用中的文件上传流程。为了能够在项目中使用此组件,首先需要按照一定的步骤进行安装...
《深入理解JSP SmartUpload上传下载机制》 在Web开发中,文件上传和下载功能是不可或缺的一部分,尤其是在处理用户交互和数据交换时。JSP SmartUpload是一个常用的Java库,专门用于处理文件上传任务,它简化了在JSP...
JSPSmartUpload是一个在Java Web开发中常用的上传组件,它为JSP(JavaServer Pages)提供了文件上传的功能。这个组件的出现,使得开发者能够轻松地处理用户通过网页上传的文件,比如图片、文档等,而无需深入理解...