日期:2014-05-17  浏览次数:20829 次

急!求java上传图片代码!
本人用ssh技术在做一个网站,需要后台管理新闻的软件上传图片,显示在前台页面上,新手,刚上任不久,请高手们指点!!小女子先谢了!
需要达到的效果:
1.上传的图片保存在发布的工程目录下,图片地址保存到数据库。
2.到数据库查询图片路径,显示图片。

代码被采用者大大的给分!!不要说用google...

------解决方案--------------------
upload.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*,com.jspsmart.upload.*" %> 
<html> 
<head> 
<title>上传文件 </title> 

</head> 
<body> 
<form id="form1" name="msform" method="post" action="do_upload.jsp" enctype="multipart/form-data" onSubmit="return Check_Found(this);" target="iframe1"> 
<table width="50%" border="1" align="center"> 
<tr> 
<td align="center"><input type="text" name="name" id="text1"></td> 
</tr> 
<tr> 
<td align="center">产品说明: 
<input type="file" name="file2" value=""/> 
<iframe name="iframe1" style="display:none"> </iframe> 
<input type="submit" name="Submit" value="上传图片" /> 
</td> 
</tr> 
</table> 
</form> 
</body> 
</html> 

do_upload.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*,com.jspsmart.upload.*" %> 
<html> 
<head> 
<title>文件上传处理页面 </title> 

</head> 
<body> 
<% 
SmartUpload su=new SmartUpload(); 
su.initialize(pageContext); 
su.upload(); 
String name; 
int count=su.save("/upload",su.SAVE_VIRTUAL); 
out.println(count+"个文件上传成功! <br>"); 
for(int i=0;i <su.getFiles().getCount();i++) 

com.jspsmart.upload.File file=su.getFiles().getFile(i); 
if(file.isMissing()) continue; 
String files=file.getFileName(); 
out.print("<script>window.parent.document.text1.value='../upload/"+file.getFileName()+"';</script>");
out.print("<script>alert('上传成功!');</script>");
response.setHeader("Refresh","0;URL=addnewproduce.jsp");

%> 
</body> 
</html> 

还需要组件才行
------解决方案--------------------
//<input type="file" id="upload" name="upload" style="width:100%"/>

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {

 /**
* @param args
* 文件字节输入、输出流方法拷贝一个文件到指定目录
*/

 void copy(File f1, File f2) {//f1 源文件路径 f2目标路径 最后把f2 insert 到数据库就不写了
try {
// 建立相关的字节输入流
FileInputStream fr = new FileInputStream(f1); // 通过打开一个到实际文件的连接来创建一个
// FileInputStream,该文件通过文件系统中的路径名

// 创建一个向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream fw = new FileOutputStream(f2);
byte buffer[] = new byte[1]; // 声明一个byte型的数组,数组的大小是512个字节
while (fr.read(buffer) != -1) {