servlet +jsp 怎么实现上传并在页面显示该图片啊?
发布网友
发布时间:2022-04-15 06:13
我来回答
共5个回答
懂视网
时间:2022-04-15 10:35
mysqlservletjsp
1.我想搞一个网页,可以点击一个链接便可以实现下载mysql数据库对应的word文档,还可以上传word文档到mysql库中;
2.在网页中上传图片保存到数据库,并可在上传完毕之后,直接在线观看其图片。
本人在自编一个程序,由于技术有限,不能实现以上功能,望大家能指点一下,最好能给出一份源码让我参考下。
热心网友
时间:2022-04-15 07:43
a.jsp//上传页面
<%@ page contentType="text/html;charSet=gb2312" %>
<html>
<form name="adf" action="aa.jsp" method="post" enctype="multipart/form-data">
<input type="file" name="ubfile" size="50" />
<input type="submit" value="提交" />
</form>
、、、、、、、、、、、、、、、、、、、、、
aa.jsp 上传
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import ="java.io.*" %>
<%!
public String codeToString(String str)
{//处理中文字符串的函数
String s=str;
try
{
byte tempB[]=s.getBytes("ISO-8859-1");
s=new String(tempB);
return s;
}
catch(Exception e)
{
return s;
}
}
%>
<%
String tempFileName=new String("tempFileName1");
File tempFile1=new File("D:/",tempFileName);
FileOutputStream outputFile1=new FileOutputStream(tempFile1);
InputStream fileSource1=request.getInputStream();
byte b[]=new byte[1000];
int n;
while((n=fileSource1.read(b))!=-1)
outputFile1.write(b,0,n);
outputFile1.close();
fileSource1.close();
RandomAccessFile randomFile1=new RandomAccessFile(tempFile1,"r");
randomFile1.readLine();
String FilePath=randomFile1.readLine();
int position=FilePath.lastIndexOf("\\");
String fileName=codeToString(FilePath.substring(position+1,FilePath.length()-1));
randomFile1.seek(0);
long forthEnterPosition=0;
int forth=1;
while((n=randomFile1.readByte())!=-1&&(forth<=4))
if(n=='\n')
{
forthEnterPosition=randomFile1.getFilePointer();
forth++;
}
File FileUploadDir=new File("E:/Program Files/Java/Tomcat/webapps/a/","upload");
FileUploadDir.mkdir();
File saveFile1=new File("E:/Program Files/Java/Tomcat/webapps/a/",fileName);
RandomAccessFile randomFile2=new RandomAccessFile(saveFile1,"rw");
randomFile1.seek(randomFile1.length());
long endPosition=randomFile1.getFilePointer();
int j=1;
while((endPosition>=0)&&(j<4)){
endPosition--;
randomFile1.seek(endPosition);
if(randomFile1.readByte()=='\n')
j++;
}
randomFile1.seek(forthEnterPosition);
Long startPoint=randomFile1.getFilePointer();
while(startPoint<endPosition-1){
randomFile2.write(randomFile1.readByte());
startPoint=randomFile1.getFilePointer();
}
randomFile1.close();
randomFile2.close();
tempFile1.delete();
%>
热心网友
时间:2022-04-15 09:01
首先要去阿帕奇下两个包commons-io.jar;commons-fileupload.jar两个包,用这两个包写一个servlet用来上传文件,上传的同时把文件名存入数据库,上传后在jsp中用相对路径访问,不懂可HI我。
热心网友
时间:2022-04-15 10:35
额~
别转换成二进制了。
存文件,保存地址到数据库吧
热心网友
时间:2022-04-15 12:27
上传是上传,不过显示图片,用JS做就行了~~毕竟是在自己电脑上呢~,要不有点浪费