jsp怎么保存图片,有没有详细的代码
4个回答
展开全部
可以不用JSP后台或者JSP方式的代码保存图片,直接用javascript比较简单,在前端提交图片,然后将路径存储到数据库,文件存储到制定的文件服务器路径上。
非要用JSP后台保存图片,可以参考如下代码:
public class upload extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置允许用户上传文件大小,单位:字节,这里设为2m
fu.setSizeMax(2*1024*1024);
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(4096);
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath("c:\\windows\\temp");
//开始读取上传信息
List fileItems = fu.parseRequest(request);
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator();
//正则匹配,过滤路径取文件名
String regExp=".+\\\\(.+)$";
//过滤掉的文件类型
String[] errorType={".exe",".com",".cgi",".asp"};
Pattern p = Pattern.compile(regExp);
while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();
//忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result){
for (int temp=0;temp<errorType.length;temp++){
if (m.group(1).endsWith(errorType[temp])){
throw new IOException(name+": wrong type");
}
}
try{
//保存上传的文件到指定的目录
//在下文中上传文件至数据库时,将对这里改写
item.write(new File("d:\\" + m.group(1)));
out.print(name+" "+size+"<br>");
}
catch(Exception e){
out.println(e);
}
}
else
{
throw new IOException("fail to upload");
}
}
}
}
catch (IOException e){
out.println(e);
}
catch (FileUploadException e){
out.println(e);
}
}
}
展开全部
等等,你说的如何保存图片?是不是说错了,应该问的是如何上传图片嘛?
如果是上传的话需要用api的,
http://commons.apache.org/
上有,请过目。具体的代码的话,请您说明您想实现什么功能,如果就一个保存的话根本不需要JSP ,简单的J2SE代码就能实现
如果是上传的话需要用api的,
http://commons.apache.org/
上有,请过目。具体的代码的话,请您说明您想实现什么功能,如果就一个保存的话根本不需要JSP ,简单的J2SE代码就能实现
追问
我假设个项目,你看看:
网上订餐在商品展示的时候,我也要显示出图片来
图片是来自数据库的,我就是这个不懂,求解!
追答
如果是这样的话,您要理解几个方法才能达到这个东西。
拿出图片的话很简单,根本不需要接触数据库,在HTML上的就能吧图片加载到页面。
还有就是数据库的话也一样的,首先您要理解JDBC的概念,然后下载数据库的API,然后从数据库理吧图片的信息设呢么的取出来后,提交到网上。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
保存图片在jsp里一般用插件,如smartupload插件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是要上传图片吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询