本文目录一览:
怎么用JSP代码插入图片?
JSP中插入的图片就是一个html的img标签。
如:
img src="路径地址/图片名"/
1. 上传图片到服务器的文件系统中
2. 把图片的地址保存到数据库
3. 读取图片的地址,设置到img src=".."/的src属性中
jsp上传图片,最好完整代码。100分!
upfile.jsp 文件代码如下:
form method="post" action="uploadimage.jsp" name="form1" enctype="multipart/form-data"
input type="file" name="file"
input type="submIT" name="sub" value="upload"
/form
form method="post" action="uploadimage.jsp" name="form1" enctype="multipart/form-data"
input type="file" name="file"
input type="submit" name="sub" value="upload"
/form
STRONGFONT color=#ff0000uploadimage.jsp/FONT/STRONG
文件代码如下:
uploadimage.jsp
文件代码如下:view plaincopy to clipboardprint?
PRE class=java name="code"%@ page language="java" pageEncoding="gb2312"%
%@ page import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*"%
%@ page import="mainClass.*" %
html
head
titleMy JSP 'uploadimage.jsp' starting page/title
/head
body
%
SmartUpload sma=new SmartUpload();
long file_max_size=4000000;
String filename1="",ext="",testvar="";
String url="uploadfiles/";
sma.initialize(pageContext);
try
{
sma.setAllowedFilesList("jpg,gif");
sma.upload();
}catch(Exception e){
%
script language="jscript"
alert("只允许上传jpg,gif图片")
window.location.href="upfile.jsp"
/script
%
}
try{
com.jspsmart.upload.File myf=sma.getFiles().getFile(0);
if(myf.isMissing()){
%
script language="jscript"
alert("请选择要上传的文件!")
window.location.href="upfile.jsp"
/script
%
}else{
ext=myf.getFileExt();
int file_size=myf.getSize();
String saveurl="";
if(file_size file_max_size){
Calendar cal=Calendar.getInstance();
String filename=String.valueOf(cal.getTimeInMillis());
saveurl=request.getRealPath("/")+url;
saveurl+=filename+"."+ext;
myf.saveAs(saveurl,sma.SAVE_PHYSICAL);
myclass mc=new myclass(request.getRealPath("data/data.mdb"));
mc.executeInsert("insert into [path] values('uploadfiles/"+filename+"."+ext+"')");
out.println("图片上传成功!");
response.sendRedirect("showimg.jsp");
}
}
}catch(Exception e){
e.printStackTrace();
}
%
/body
/html
/PRE
本文来自: IT知道网() 详细出处参考:
谁有jsp上传图片的代码了,把上传的图片保存到文件夹 里的,简单点的,谢谢啊,急,
这个比较简单
选择图片的jsp页面的form
form action="doUploadImage.jsp" encType=multipart/form-data method=post
本地选择:
input type="file" name="selPicture"
style="width: 330px; height: 23px; font-size: 16px"
input type="submit" name="upload" id="upload" value="上传"
style="width: 70px; height: 25px"
/form
接收页面
%@ page language="java" import="java.util.*,com.jspsmart.upload.*,java.io.*"
pageEncoding="GBK"%
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
html
head
titleMy JSP 'doUploadImage.jsp' starting page/title
/head
body
%
request.setCharacterEncoding("GBK");
long size = 5 * 1024 * 1024;//允许上传最大值为5MB
String fileType = "jpg,gif,JPG";//允许上传文件类型
String imgName = null;//图片名称
byte[] data = null;//数据
String filePath = "";//文件路径
//得到服务器目录webroot下的ImageFiles目录的完整路径
String path = super.getServletContext().getRealPath("/Image");
System.out.println(path);
SmartUpload su = new SmartUpload();
//初始化
su.initialize(pageContext);
su.setMaxFileSize(size);
su.setAllowedFilesList(fileType);
su.setCharSet("GBK");
//上载文件
su.upload();
System.out.println(su.getSize());
su.getRequest();
//循环取得所有上载的文件
Files files = su.getFiles();
if (files != null) {
//如果文件路径不存在则生成路径
java.io.File fileDir = new java.io.File(path);
System.out.println("存在");
if (!fileDir.exists()) {
fileDir.mkdirs();
System.out.println("不存在");
}
System.out.println(files.getCount());
//取出文件
for (int i = 0; i files.getCount(); i++)
{
com.jspsmart.upload.File file = files.getFile(i);
if (file.isMissing()) continue;
if ("selPicture".equals(file.getFieldName())) {
String type = file.getFilePathName();
type = type.substring(type.lastIndexOf("."));
imgName = UUID.randomUUID().toString();//生成uuid作为图片的名称
imgName += type;
filePath = path + "/" + imgName;
//保存到指定文件
file.saveAs(filePath);
//读取文件
data = readFile(filePath);
break;
}
}
}
if (data == null) {
out.print("没有图片");
} else {
out.print("图片上传成功");
}
%
%!byte[] readFile(String filePath) {
ByteArrayOutputStream bos = null;
try {
FileInputStream fs = new FileInputStream(filePath);
bos = new ByteArrayOutputStream(5 * 1024 * 1024);
byte[] b = new byte[1024];
int len;
while ((len = fs.read(b)) != -1) {
bos.write(b, 0, len);
}
fs.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (bos == null) {
return null;
} else {
return bos.toByteArray();
}
}
%
%=request.getParameter("name") %
/body
/html
有问题q我 379726806
后面data那一段时测试的 用的时候删除掉 这是我写的一个测试小工程 在项目里面用的时候是把接收图片放在servlet中的
我也是才搞了一个图片上传的东东