- 浏览: 1266826 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (896)
- spring4 (14)
- hibernate3 (26)
- spring2 (35)
- struts2 (55)
- struts1 (15)
- 设计模式 (15)
- java (172)
- mybatis3 (11)
- sql (17)
- mysql (13)
- jbpm (10)
- J2EE (45)
- tools (29)
- js (83)
- 数据结构 (13)
- Html (26)
- web (22)
- flex (33)
- Oracle (57)
- linux (49)
- 算法 (6)
- 其它 (12)
- easyui (1)
- bootstrap (13)
- xml (2)
- tomcat (1)
- redis (10)
- activemq (2)
- webservice (11)
- maven (2)
- springboot (1)
- ubuntu (1)
- python (14)
- rocketmq (1)
- springcloud (10)
- opencv (1)
最新评论
-
mike_eclipse:
Hashtable是线程不安全的吗?好像是线程安全的吧?
多线程之集合类 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
lodop打印控件 -
xingcxb:
经过测试,假的,依旧会出现中文乱码!!!!store方法里面采 ...
java 读写Properties文件,不会出现中文乱码 -
tiger20111989:
...
Spring注解方式管理事务 -
zw7534313:
...
js 文字上下滚动 无间断循环显示
1.upload_http.jsp:
<style>
body,td{font-size:12px;}
</style>
<script type="text/javascript">
var ImgObj=new Image();//建立一个图像对象
var AllImgExt=".jpg|.jpeg|.gif|.bmp|.png|"//全部图片格式类型
var FileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg,FileMsg,HasCheked,IsImg//全局变量 图片相关属性
//以下为限制变量
var AllowExt=".jpg|.gif|.doc|.txt|"//允许上传的文件类型 ŀ为无限制 每个扩展名后边要加一个"|" 小写字母表示
//var AllowExt=0
var AllowImgFileSize=70;//允许上传图片文件的大小 0为无限制 单位:KB
var AllowImgWidth=500;//允许上传的图片的宽度 ŀ为无限制 单位:px(像素)
var AllowImgHeight=500;//允许上传的图片的高度 ŀ为无限制 单位:px(像素)
HasChecked=false;
function CheckProperty(obj)//检测图像属性
{
FileObj=obj;
if(ErrMsg!="")//检测是否为正确的图像文件 返回出错信息并重置
{
ShowMsg(ErrMsg,false);
return false;//返回
}
if(ImgObj.readyState!="complete")//如果图像是未加载完成进行循环检测
{
setTimeout("CheckProperty(FileObj)",500);
return false;
}
ImgFileSize=Math.round(ImgObj.fileSize/1024*100)/100;//取得图片文件的大小
ImgWidth=ImgObj.width//取得图片的宽度
ImgHeight=ImgObj.height;//取得图片的高度
FileMsg="\n图片大小:"+ImgWidth+"*"+ImgHeight+"px";
FileMsg=FileMsg+"\n图片文件大小:"+ImgFileSize+"Kb";
FileMsg=FileMsg+"\n图片文件扩展名:"+FileExt;
if(AllowImgWidth!=0&&AllowImgWidth<ImgWidth)
ErrMsg=ErrMsg+"\n图片宽度超过限制。请上传宽度小于"+AllowImgWidth+"px的文件,当前图片宽度为"+ImgWidth+"px";
if(AllowImgHeight!=0&&AllowImgHeight<ImgHeight)
ErrMsg=ErrMsg+"\n图片高度超过限制。请上传高度小于"+AllowImgHeight+"px的文件,当前图片高度为"+ImgHeight+"px";
if(AllowImgFileSize!=0&&AllowImgFileSize<ImgFileSize)
ErrMsg=ErrMsg+"\n图片文件大小超过限制。请上传小于"+AllowImgFileSize+"KB的文件,当前文件大小为"+ImgFileSize+"KB";
if(ErrMsg!="")
ShowMsg(ErrMsg,false);
else
ShowMsg(FileMsg,true);
}
ImgObj.onerror=function(){ErrMsg='\n图片格式不正确或者图片已损坏!'}
function ShowMsg(msg,tf)//显示提示信息 tf=true 显示文件信息 tf=false 显示错误信息 msg-信息内容
{
msg=msg.replace("\n","<li>");
msg=msg.replace(/\n/gi,"<li>");
if(!tf)
{
document.all.UploadButton.disabled=true;
FileObj.outerHTML=FileObj.outerHTML;
MsgList.innerHTML=msg;
HasChecked=false;
}
else
{
document.all.UploadButton.disabled=false;
if(IsImg)
PreviewImg.innerHTML="<img src='"+ImgObj.src+"' width='60' height='60'>"
else
PreviewImg.innerHTML="非图片文件";
MsgList.innerHTML=msg;
HasChecked=true;
}
}
function CheckExt(obj)
{
ErrMsg="";
FileMsg="";
FileObj=obj;
IsImg=false;
HasChecked=false;
PreviewImg.innerHTML="预览区";
if(obj.value=="")return false;
MsgList.innerHTML="文件信息处理中...";
document.all.UploadButton.disabled=true;
FileExt=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();
if(AllowExt!=0&&AllowExt.indexOf(FileExt+"|")==-1)//判断文件类型是否允许上传
{
ErrMsg="\n该文件类型不允许上传。请上传 "+AllowExt+" 类型的文件,当前文件类型为"+FileExt;
ShowMsg(ErrMsg,false);
return false;
}
if(AllImgExt.indexOf(FileExt+"|")!=-1)//如果图片文件,则进行图片信息处理
{
IsImg=true;
ImgObj.src=obj.value;
CheckProperty(obj);
return false;
}
else
{
FileMsg="\n文件扩展名:"+FileExt;
ShowMsg(FileMsg,true);
}
}
function SwitchUpType(tf)
{
if(tf)
str='<input type="file" name="uploadFile" onchange="CheckExt(this)" style="width:180px;">'
else
str='<input type="text" name="uploadFile" onblur="CheckExt(this)" style="width:180px;">'
document.all.uploadFile.outerHTML=str;
// document.all.UploadButton.disabled=true;
MsgList.innerHTML="";
}
</script>
<form action="uploadH.do" method="POST">
<fieldset style="width: 372; height: 60;padding:2px;">
<legend><font color="#FF0000">图片来源</font></legend>
<input type="radio" name="radio1" checked="checked" onclick="SwitchUpType(true);">本地<input type="radio" name="radio1" onclick="SwitchUpType(false);">远程:<input type="file" name="uploadFile" onchange="CheckExt(this)" style="width:180px;"> <input type="submit" id="UploadButton" value="开始上传"><br>
<div style="border:1 solid #808080;background:#E0E0E0;width100%;height:20px;color:#606060;padding:5px;">
<table border="0"><tr><td width="60" id="PreviewImg">预览区</td><td id="MsgList" valign="top"></td></tr></table>
</div>
</fieldset>
</form>
mm<sup>2</sup>
2.uploadH.do: (上传远程文件到到服务器到根文件来下)
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyUploadHttp extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String strUrl=request.getParameter("uploadFile");
System.out.println(strUrl);
try{ //读取文件路径
URL url = new URL(strUrl);
HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
urlCon.setConnectTimeout(5000);
BufferedInputStream in=new BufferedInputStream(
urlCon.getInputStream());
//写入文件路径
String path=request.getRealPath("/");
String fileName=strUrl.substring(strUrl.lastIndexOf("/")+1);
path=path+fileName;
System.out.println(path);
BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream(path));
String inputLine= " ";
byte[] buf=new byte[1024];
int len=0;
while((len=in.read(buf))>0){
//System.out.println(inputLine);
out.write(buf,0,len);
out.flush();
}
in.close();
out.close();
// urlCon.setReadTimeout(5000);
/* BufferedReader in=new BufferedReader(new InputStreamReader(
urlCon.getInputStream()));
//写入文件路径
String path=request.getRealPath("/");
String fileName=strUrl.substring(strUrl.lastIndexOf("/")+1);
path=path+fileName;
System.out.println(path);
BufferedWriter out=new BufferedWriter(new FileWriter(path));
String inputLine= " ";
while((inputLine=in.readLine())!=null){
//System.out.println(inputLine);
out.write(inputLine);
out.flush();
}
in.close();
out.close();
*/
}catch(IOException e){
System.out.println( "error ");
}
}
}
发表评论
-
shiro+jwt实现认证功能
2022-08-11 07:47 494Shiro和JWT的区别 整合之前需要清楚Shiro和JWT的 ... -
web项目通过端口访问
2018-04-15 14:16 673发布到webapp下改一下web项目名为ROOT, ... -
tomcat 配置
2015-05-13 07:33 4741. 建立tomcat服务 A.在 ... -
eclipse 中自定义jsp模版
2011-05-17 22:16 2380首先随便打开一个jsp页,在网页中单击右键选择:prefer ... -
urlrewriter2.6在java中的应用 URL重写
2010-09-29 09:59 1469http://xiaopihai.iteye.com/blog ... -
内容管理系统CMS
2010-09-29 09:28 1054http://l530.spaces.live.com/blo ... -
web 网页中嵌套flash
2010-09-03 09:36 2057<object classid="clsid: ... -
web 开发一些组件
2010-08-26 11:24 1000http://www.live800.com/ Live ... -
web聊天 serverpush servlet实现
2010-07-01 09:11 1948这是个web聊天程序,很不错的,采用serverpush技术。 ... -
xml
2010-06-24 11:00 936Node.ELEMENT_NODE == 1 No ... -
改变文件上传按钮样式 input button
2010-06-22 09:40 4723<style type="text/css&q ... -
天气插件
2010-06-17 09:45 855http://service.weather.com.cn/p ... -
WebBrowser 打印
2010-05-28 13:50 1405function hide(printId){ //pr ... -
lodop打印控件
2010-05-28 11:05 7790WEB免费打印控件推荐 http://fxz-2008.it ... -
css设置页面的打印样式及css用于不同媒体介质的设置
2010-05-27 16:42 4618这几天做东西涉及到 ... -
图片缓存 image
2010-01-22 14:31 1423<script language ="Java ... -
gif动画合成
2009-11-18 14:37 1183http://xxyy9090.blog.163.com/bl ... -
div +css 网页排版
2009-11-06 10:20 1099<!DOCTYPE HTML PUBLIC " ... -
fusionCharts
2009-11-02 17:17 1009f -
jasperreport
2009-10-16 09:28 1091http://maqianli.iteye.com/blog/ ...
相关推荐
快速对接多家云存储,支持七牛、又拍云、阿里云OSS、AWS S3、自建远程服务器,当然,还有本地存储可限制单文件最大大小、MIMEType、文件后缀、用户可用容量基于Aria2的离线下载图片、音频、视频、文本、Markdown、...
8.11 使用AJAX刷新上传图片 8.12 使用AJAX刷新验证PHP会话是否有效 8.13 在AJAX异步调用时显示加载指示器 8.14 在AJAX异步调用时处理JSON数据 8.15 解析XML数据并加载到HTML表格 8.16 jQuery AJAX错误的处理方法 ...
在使用本监控卡之前,请详细阅读本说明书所涉及的相关事项,熟悉 硬件、软件各部分的功能后,方能使用,以确保该系统为您发挥最佳功能。 否则一切后果自负。 本说明书将向您详细阐述全实时“视频监控系统”的安装、...
图片、音频、视频、文本、Markdown、Ofiice文档 在线预览 移动端全站响应式布局 文件、目录分享系统,可创建私有分享或公开分享链接 用户个人主页,可查看用户所有分享 多用户系统、用户组支持 初步完善的后台,方便...
17、修复了编辑主题时缺少主题分类选项,显示信息类别的效果及不能预览远程附件服务器上的图片 18、修复了Archiver 功能在 URL 非静态化的条件下无法正常访问 19、修复了论坛会员个人设置时区无效 20、修复了...
17、修复了编辑主题时缺少主题分类选项,显示信息类别的效果及不能预览远程附件服务器上的图片 18、修复了Archiver 功能在 URL 非静态化的条件下无法正常访问 19、修复了论坛会员个人设置时区无效 20、修复了...
8.16 访问网站LoginAPI——远程服务器验证程序运行权限 8.17 地震速报!——HttpURLConnection与Service侦测服务 第9章 Google服务与Android混搭 9.1 Google帐号验证Token——AuthSub 9.2 Google搜索——...
8.16 访问网站LoginAPI——远程服务器验证程序运行权限 8.17 地震速报!——HttpURLConnection与Service侦测服务 第9章 Google服务与Android混搭 9.1 Google帐号验证Token——AuthSub 9.2 Google搜索——...
8.16 访问网站LoginAPI——远程服务器验证程序运行权限 8.17 地震速报!——HttpURLConnection与Service侦测服务 第9章 Google服务与Android混搭 9.1 Google帐号验证Token——AuthSub 9.2 Google搜索——...
7.15 相机预览及拍照临时文件 7.16 拍照瞬间启动相机自动对焦 7.17 制作开场动画 7.18 我的手机会说话 7.19 手势触控屏幕控制 7.20 多点触控屏幕事件捕捉 第8章 当Android与...
Visual C++程序开发范例宝典配套光盘,因大小受限,所以分成8部分上传,必须全部下载才能正常解压! 第1章 窗体与界面设计 1.1 菜单应用实例 实例001 在系统菜单中添加菜单项 实例002 带图标的程序菜单 实例003...
Visual C++程序开发范例宝典配套光盘,因大小受限,所以分成8部分上传,必须全部下载才能正常解压! 第1章 窗体与界面设计 1.1 菜单应用实例 实例001 在系统菜单中添加菜单项 实例002 带图标的程序菜单 实例003...
实例177 上传图片预览 214 实例178 去掉下拉选项的边框 215 实例179 修改表单属性为弹出窗口 216 实例180 表单输入单元的文字设置 217 实例181 表单输入单元单击删除 218 实例182 表单文本输入的移动选择 219 实例...
实例177 上传图片预览 214 实例178 去掉下拉选项的边框 215 实例179 修改表单属性为弹出窗口 216 实例180 表单输入单元的文字设置 217 实例181 表单输入单元单击删除 218 实例182 表单文本输入的移动选择 219 实例...
8.16 访问网站LoginAPI——远程服务器验证程序运行权限 8.17 地震速报!——HttpURLConnection与Service侦测服务 第9章 Google服务与Android混搭 9.1 Google帐号验证Token——AuthSub 9.2 Google搜索——...
3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——...
8.16 访问网站LoginAPI——远程服务器验证程序运行权限 8.17 地震速报!——HttpURLConnection与Service侦测服务 第9章 Google服务与Android混搭 9.1 Google帐号验证Token——AuthSub 9.2 Google搜索——...