3000分求JSP图片上传放大缩小裁减的源代码
1 #大中小发表于2009-08-27 10:33:00
3000分求JSP图片上传放大缩小裁减的源代码。能裁减固定大小比如 的就行。有预览能显示图片长宽和大小file size)最好。
本人结帖率是99.87%, 可用分 +
dsf 如果没有JSP源代码 PHP源代码也可以。
String picPath;//图片路径 如:F:picturea.gifpublic String pictype[] ;//设置图片的后缀名FileInputStream in;int piclength;//设置图片的最大kb
}
public void setpiclength)//设置图片的最大长
{this.piclength=piclength;
}public int getpiclength()
{return piclength;
}public boolean testlength()//判断图片的长度是否大于设定的最大长度
{try{in=new FileInputStream(picPath) ;if(in.available()/1024>piclength)return false;
}catch(IOException e)
{
System.out.println(e.getMessage() ) ;
}return true;
}public void setpictype(String[] pictype)//设置图片的扩展名
{this.pictype=pictype;
}public boolean testpictype()//判断图片的扩展名是否是规定的
{if(pictype!=null)
{for(int i=0; i <pictype. length; i )
{if(picPath.endsWith(pictype) )return true;
}return false;
}return false;
}
}
以下是在jsp页面中调用uploadpic
首先要引入此bean所在的包
<%@page import="myBean.uploadpic" %>
<jsp:useBean id="pic" scope="page" class="myBean.uploadpic" />下一条语句是得到上一层页面也就是用户提交的图片路径
Stringpicp=codetostring.codeToString(request.getParameter("picPath")) ;pic. setpicPath(picp) ;pic. setpiclength(100) ;//以kb为单位if(pic. testlength() )out.print("length ok <br>") ;elseout.print("length ok") ;
String p1,p2;p1=". jpg";p2=".gif";
String[] type={p1,p2} ;pic. setpictype(type) ;if(pic. testpictype() )out.print("typeok") ;elseout.print("type error") ;made by zonecens www.okjava.net.cn
不知道2楼的怎么样我来学习一个
帮顶
好像百度一招很多
百度一下找到相关网页约11,400,000篇用时0.036秒3000连个星星都升不了
这个是JAVA代码package ftp;import sun.net.ftp.*;import sun.net.*;import java.awt.*;import java.awt.event.*;import java.applet.*;
import java. io.*;class FTPextends Applet {
FtpClient aftp;
DataOutputStream outputs;
TelnetInputStream ins;
TelnetOutputStream outs;
TextArea lsArea;
Label LblPrompt;
Button BtnConn;
Button BtnClose;
TextField TxtUID;
TextField TxtPWD;
TextField TxtHost;int ch;public String a = "没有连接主机";
String hostname = "";public void init() {setBackground(Color.white) ;setLayout(new GridBagLayout() ) ;
GridBagConstraints GBC = new GridBagConstraints() ;
LblPrompt = new Label ("没有连接主机") ;LblPrompt. setAlignment(Label.LEFT) ;BtnConn = new Button("连接") ;
BtnClose = new Button("断开") ;
BtnClose.enable(false) ;
TxtUID = new TextField("", 15) ;TxtPWD = new TextField("", 15) ;TxtPWD. setEchoCharacter('*' ) ;
TxtHost = new TextField("", 20) ;Label LblUID = new Label ("User ID:") ;Label LblPWD = new Label ("PWD:") ;Label LblHost = new Label ("Host:") ;
lsArea = new TextArea(30, 80) ;lsArea. setEditable(false) ;
GBC.gridwidth = GridBagConstraints.REMAINDER;GBC.f ill = GridBagConstraints.HORIZONTAL;( (GridBagLayout) getLayout() ) . setConstraints(LblPrompt, GBC) ;add(LblPrompt) ;
GBC.gridwidth = 1 ;
( (GridBagLayout) getLayout() ) . setConstraints(LblHost, GBC) ;add(LblHost) ;
GBC.gridwidth = GridBagConstraints.REMAINDER;( (GridBagLayout) getLayout() ) . setConstraints(TxtHost, GBC) ;add(TxtHost) ;
GBC.gridwidth = 1 ;
( (GridBagLayout) getLayout() ) . setConstraints(LblUID, GBC) ;add(LblUID) ;
GBC.gridwidth = 1 ;
( (GridBagLayout) getLayout() ) . setConstraints(TxtUID, GBC) ;add(TxtUID) ;
GBC.gridwidth = 1 ;
( (GridBagLayout) getLayout() ) . setConstraints(LblPWD, GBC) ;add(LblPWD) ;
GBC.gridwidth = 1 ;
( (GridBagLayout) getLayout() ) . setConstraints(TxtPWD, GBC) ;add(TxtPWD) ;
GBC.gridwidth = 1 ;
GBC.weightx = 2;
( (GridBagLayout) getLayout() ) . setConstraints(BtnConn, GBC) ;add(BtnConn) ;
GBC.gridwidth = GridBagConstraints.REMAINDER;( (GridBagLayout) getLayout() ) . setConstraints(BtnClose, GBC) ;add(BtnClose) ;
GBC.gridwidth = GridBagConstraints.REMAINDER;GBC.f ill = GridBagConstraints.HORIZONTAL;( (GridBagLayout) getLayout() ) . setConstraints(lsArea, GBC) ;add(lsArea) ;
}public boolean connect(String hostname, String uid,String pwd) {this.hostname = hostname;
LblPrompt. setText("正在连接请等待. . . . . ") ;try {aftp = new FtpClient(hostname) ;aftp. login(uid, pwd) ;aftp.binary() ;showFileContents() ;
}catch (FtpLoginException e) {a = "无权限与主机:" + hostname + "连接!";
LblPrompt. setText(a) ;return false;
}catch (IOException e) {a = "连接主机:" + hostname + "失败!";
LblPrompt. setText(a) ;return false;
}catch (SecurityException e) {a = "无权限与主机:" + hostname + "连接!";
LblPrompt. setText(a) ;return false;
}
LblPrompt. setText("连接主机:" + hostname + "成
功!") ;return true;
}
public void stop() {try {aftp.closeServer() ;
}catch (IOException e) {
}
}public void paint(Graphics g) {
}public boolean action(Event evt, Object obj) {if (evt. target == BtnConn) {
LblPrompt. setText("正在连接请等待. . . . . ") ;if (connect(TxtHost.getText() , TxtUID.getText() , TxtPWD.getText() ) ) {
BtnConn. setEnabled(false) ;
BtnClose. setEnabled(true) ;
}return true;
}if (evt. target == BtnClose) {
stop() ;
BtnConn.enable(true) ;
BtnClose.enable(false) ;
LblPrompt. setText("与主机" + hostname + "连
接已断开!") ;return true;
}return super.action(evt, obj) ;
}public boolean sendFile(String filepathname) {boolean result = true;if (aftp != null) {
LblPrompt. setText("正在粘贴文件,请耐心等
待. . . . ") ;
String contentperline;try {a = "粘贴成功!";
String fg = new String("\") ;int index = filepathname. lastIndexOf(fg) ;String filename = filepathname. substring(index + 1) ;
File localFile;localFile = new File(filepathname) ;RandomAccessFile sendFile = new RandomAccessFile(filepathname, "r") ;
//sendFile. seek(0) ;outs = aftp.put(filename) ;outputs = new DataOutputStream(outs) ;while (sendFile.getFilePointer() < sendFile. length() ) {ch = sendFile.read() ;outputs.write(ch) ;
}outs.close() ;sendFile.close() ;
}catch (IOException e) {a = "粘贴失败!";result = false;
}
LblPrompt. setText(a) ;showFileContents() ;
}else {result = false;
}return result;
}public void showFileContents() {StringBuffer buf = new StringBuffer() ;lsArea. setText("") ;try {ins = aftp. list() ;while ( (ch = ins.read() ) >= 0) {buf.append( (char) ch) ;
}lsArea.appendText(buf. toString() ) ;ins.close() ;
}catch (IOException e) {
}
}public static void main(String args[] ) {Frame f = new Frame("FTP Client") ;f.addWindowListener(new WindowAdapter() {
云步云怎么样?云步云是创建于2021年的品牌,主要从事出售香港vps、美国VPS、日本VPS、香港独立服务器、香港站群服务器等,机房有香港、美国、日本东京等机房,目前在售VPS线路有CN2+BGP、CN2 GIA,香港的线路也是CN2直连大陆,该公司旗下产品均采用KVM虚拟化架构。目前,云步云提供香港安畅、沙田、大浦、葵湾、将军澳、新世界等CN2机房云服务器,2核2G5M仅72.5元/月起。点击进...
从介绍看啊,新增的HostYun 俄罗斯机房采用的是双向CN2线路,其他的像香港和日本机房,均为国内直连线路,访问质量不错。HostYun商家通用九折优惠码:HostYun内存CPUSSD流量带宽价格(原价)购买地址1G1核10G300G/月200M28元/月购买链接1G1核10G500G/月200M38元/月购买链接1G1核20G900G/月200M68元/月购买链接2G1核30G1500G/月...
昨天有分享到"2021年Vultr新用户福利注册账户赠送50美元"文章,居然还有网友曾经没有注册过他家的账户,薅过他们家的羊毛。通过一阵折腾居然能注册到账户,但是对于如何开通云服务器稍微有点不对劲,对于新人来说确实有点疑惑。因为Vultr采用的是预付费充值方式,会在每月的一号扣费,当然我们账户需要存留余额或者我们采用自动扣费支付模式。把笔记中以前的文章推送给网友查看,他居然告诉我界面不同,看的不对...