现在准备在做一个图片上传的小项目,陆续会在博客上公开我的代码。
这里准备使用Struts来做,我用的IDE是MyEclipse 6.5,使用的Struts版本是1.3,我现在保存了开心网,就是kaixin001的照片上传的代码作为我的项目页面。准备逐渐破解它的页面结构来满足我的需求。
首先是上传图片需要的FormBean,PhotoForm
package com.tntxia.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
public class PhotoForm extends ActionForm {
private FormFile photo;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
return null;
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
}
public FormFile getPhoto() {
return photo;
}
public void setPhoto(FormFile photo) {
this.photo = photo;
}
}
下面是图片上传使用的Action类:
package com.tntxia.struts.action;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import com.tntxia.db.util.DBUtil;
import com.tntxia.struts.form.PhotoForm;
public class UploadFileAction extends Action {
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
PhotoForm userForm = (PhotoForm)form;
FormFile file = userForm.getPhoto();
try{
UUID uuid = UUID.randomUUID();
String pre = uuid.toString();
String ext = file.getFileName().substring(file.getFileName().lastIndexOf("."));
File saveFile = new File(this.getServlet().getServletContext().getRealPath("/")+"\\upload",pre+ext);
InputStream in = file.getInputStream();
FileOutputStream out = new FileOutputStream(saveFile);
int len = 0;
byte[] buf = new byte[1024];
while((len = in.read(buf))!=-1){
out.write(buf,0,len);
}
in.close();
out.close();
response.setContentType("text/html;charset=GBK");
response.getWriter().print(file.getFileName());
ArrayList<String> params = new ArrayList<String>();
params.add(userForm.getName());
params.add(pre+ext);
DBUtil.executePreparedSQL("insert into photo(name,fileName) values(?,?)", params);
ArrayList<String> cols = new ArrayList<String>();
cols.add("name");
cols.add("fileName");
Map<String,ArrayList<String>> result = DBUtil.getArrayResult(cols, "select * from photo");
request.setAttribute("result", result);
}catch(Exception e){
e.printStackTrace();
}
return mapping.findForward("/success");
}
}
分享到:
相关推荐
这个“ASP图片上传代码”提供了一个基础的实现方式,帮助开发者在他们的网站上允许用户上传图片。 在ASP中处理图片上传通常涉及以下几个关键步骤: 1. **文件表单提交**:首先,你需要在HTML页面中创建一个`<form>...
这个“图片上传代码”是专为新手设计的学习资源,旨在帮助初学者理解如何在ASP.NET环境中实现这一功能。下面将详细阐述图片上传的基本步骤和关键知识点。 1. **文件上传控件**: ASP.NET提供了`<asp:FileUpload>`...
在本场景中,"ASP js图片上传代码"是指利用ASP技术和JavaScript语言实现的图片上传功能。JavaScript通常用于客户端,处理用户交互,而ASP则在服务器端运行,处理数据和业务逻辑。 首先,我们要理解图片上传的基本...
下面将围绕“jsp图片上传代码”这一主题,展开对标题、描述及部分代码内容中的关键知识点进行详细解析。 ### JSP图片上传的基本原理 在Web开发中,图片上传是一个常见的功能需求。JSP(JavaServer Pages)作为一种...
这个“照片、图片上传代码”就是针对这一需求而设计的,旨在提供一种简便的方式让用户能够将他们的图片或照片上传到服务器。下面,我们将深入探讨这个过程涉及的关键技术点、原理以及实现方法。 首先,上传代码的...
在这个“uploadify 图片上传代码”中,我们将深入探讨Uploadify的工作原理、主要特点以及如何在实际项目中应用。 1. **Uploadify 的工作原理** Uploadify 使用了Flash和HTML5技术来实现文件上传。对于不支持HTML5...
《Kineditor编辑器图片上传代码详解》 在Web开发中,富文本编辑器是不可或缺的一部分,它使得用户可以方便地进行文字编辑、格式调整以及图片上传等操作。Kineditor是一款广泛使用的开源富文本编辑器,尤其适用于ASP...
《jQuery新浪微博接口图片上传代码详解》 在当今的Web开发中,社交媒体的集成已经成为不可或缺的一部分。其中,利用JavaScript库如jQuery来实现与新浪微博接口的交互,可以为网站增添丰富的社交功能,例如图片上传...
本篇文章将深入探讨“Flash图片上传代码”的相关知识点,帮助开发者更好地理解和实现这样的功能。 首先,"Flash图片上传代码"指的是使用Adobe Flash技术实现的图片上传功能。在过去的几年里,由于Flash的广泛兼容性...
以下是对"asp.net图片上传代码"这一主题的详细解释。 首先,ASP.NET是微软开发的一个用于构建Web应用程序的框架,它提供了丰富的控件和API来简化Web开发。在图片上传的场景中,我们通常会使用FileUpload控件,这是...
总结起来,实现HTML5点击上传头像选取本地图片上传代码的关键步骤包括:创建文件输入元素,监听文件选择事件,使用FileReader预览图片,通过FormData封装文件,最后使用fetch或XMLHttpRequest发送文件到服务器。...
完整的php图片上传代码,自动创建日期年月为名的目录,上传图片自动命名为时间戳!
这个“java写的图片上传代码”应该包含处理文件上传、存储图片到服务器以及在数据库中记录图片路径的相关逻辑。下面将详细讨论这个过程。 首先,Java中的图片上传通常涉及到Servlet和MultipartFile接口。Servlet是...
根据提供的文件信息,标题为“资料--图片上传代码”,描述为“第一次上传”,标签包括“代码,娱乐”。然而,从描述及部分内容来看,并没有提供实际的代码或与图片上传相关的技术细节,而是包含了一些难以理解的文字...
JAVA图片上传代码^^^^^^/* * 在文件上传中 为了读取文件的速度更快 将文件放在字节流中 同时在给放在字节流中的上传的文件加一个缓存 给这样读取速度会更快 * 同时也可以定义一个缓冲字节数组 来定义每次...
总的来说,实现“PHP仿微信多图片上传代码带预览”功能,需要结合前端和后端的技术,包括HTML5的文件API、JavaScript的预览处理、PHP的文件上传和安全控制等。通过合理的设计和编程,可以构建出符合用户需求的高效、...
【标题】"js手机端图片上传代码.zip"所包含的知识点主要集中在JavaScript、CSS和jQuery技术上,这些技术是构建现代网页动态效果和交互的核心工具。在这个压缩包中,我们很可能会找到一个实现手机端图片上传功能的...
**jQuery图片上传代码详解** 在Web开发中,用户交互性的增强是提升用户体验的关键因素之一,尤其是在处理图片上传这种常见的操作时。"功能强大的jQuery图片上传代码"正是一款旨在解决这个问题的插件,它集成了丰富...