在站内搜索了一下,没有找到类似的问题
1。页面只有上传的的form,包括:file框,text框,上传按钮。有时候能上传,有时不能上传成功,不成功提示http 500 dispatch[/photoManage]...错误,但是同样一个ActionForward为什么有时可以,有时不可以。
2。struts自带的token会不会影响上传呢?
3。是不是代码有问题,各位同胞们帮我看下,代码如下:
java 代码
-
-
- public ActionForward sendOnePhoto(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
-
- PhotoManageForm photoForm = (PhotoManageForm) form;
- HttpSession session = request.getSession();
- session.removeAttribute("photoname");
- String ep_no = (String) session.getAttribute("ep_no");
-
- String photo_name = photoForm.getPhoto_name();
- if (photo_name == null && "".equals(photo_name)) {
- request.setAttribute("photoname", "isEmpty");
- return new ActionForward("/searchPhoto.do?flag=manage");
- }
- FormFile file = photoForm.getFile();
- String filename = file.getFileName();
-
- session.setAttribute("photoname", photo_name);
- int filesize = file.getFileSize();
- String firstname = "";
-
- if (isTokenValid(request, true)) {
- try {
- PhotoNameSearch namesearch = new PhotoNameSearch();
- firstname = namesearch.String2Alpha(photo_name).substring(0, 1);
- System.out.println("首拼音是:" + firstname);
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- Date date = new Date();
- String datename = date.toString();
- datename = datename.replaceAll(" ", "");
- datename = datename.replaceAll(":", "");
- String sql = "";
-
- if (filename != null && !filename.equals("")) {
- int index = filename.lastIndexOf(".");
- String sn = filename.substring(index, filename.length());
-
- if (!sn.equalsIgnoreCase(".gif")
- && !sn.equalsIgnoreCase(".jpg")
- && !sn.equalsIgnoreCase(".png")) {
- return new ActionForward("/searchPhoto.do?selepno=" + ep_no+ "&error=format");
- }
- if (filesize > 1024 * 1024 * 5) {
- return new ActionForward("/searchPhoto.do?selepno=" + ep_no+ "&error=size");
- }
-
- Calendar c = Calendar.getInstance();
- SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- String datetime = f.format(c.getTime());
- System.out.println("====" + datetime);
-
- String savepath = request.getRealPath("/") + "/upload/photo/"+ datename + sn;
- sql = "insert into photo(ep_no,photo_name,photo_route,upload_date,firstname) values('"
- + StrTrans.transGbk(ep_no)
- + "','"
- + StrTrans.transGbk(photo_name)
- + "','"
- + StrTrans.transGbk(datename + sn)
- + "','"
- + datetime
- + "','" + firstname + "')";
-
- CommonDataBean commonDataBean = null;
- InputStream in = null;
- FileOutputStream out = null;
-
- try {
- in = file.getInputStream();
- out = new FileOutputStream(savepath);
- commonDataBean = new CommonDataBean();
- byte[] b = new byte[30000000];
- int i = 0;
- while ((i = in.read(b)) != -1) {
- out.write(b, 0, i);
- }
-
- out.close();
- in.close();
- commonDataBean.executeUpdate(sql);
-
- photoHandle ph = new photoHandle();
- ph.updatetime(ep_no);
- } catch (Exception e) {
- System.out.println(e.getMessage());
- e.printStackTrace();
- System.out.println("something wrong!");
- } finally {
- commonDataBean.closeConn();
- }
- }
- resetToken(request);
- } else {
- saveToken(request);
- }
- return new ActionForward("/searchPhoto.do?flag=manage");
- }
分享到:
相关推荐
最后,当所有文件成功上传后,你可以跳转到一个结果页面(如`success.jsp`),显示上传成功的消息。如果在上传过程中出现错误,可以返回输入页面(`upload.jsp`),让用户重新选择文件。 总之,通过Struts2和...
文件上传功能在Struts2中通过`Struts2`提供的插件来实现,主要依赖于`Apache Commons FileUpload`库。首先,要在`struts.xml`配置文件中启用文件上传支持,设置`struts.multipart.parser`为`jakarta`或`native2...
在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)和Struts框架实现文件上传功能。这是一个在Web开发中常见的需求,特别是在处理用户提交的数据时。Struts是一个基于MVC(Model-View-Controller)设计模式的...
// 不返回任何结果,防止Struts2跳转页面 } ``` 在struts.xml中,配置一个使用`StreamResult`的结果: ```xml <param name="contentType">application/octet-stream <param name="inputName">inputStream ...
在"struts2.1.3上传文件"这个主题中,我们将深入探讨Struts2如何实现文件上传功能,以及与之相关的jsp(JavaServer Pages)技术。 文件上传是Web应用程序中常见的需求,例如用户可能需要上传照片、文档或其他类型的...
在本压缩包"struts上传.rar"中,重点涉及的是Struts框架中的文件上传功能。文件上传是Web应用中常见的功能,允许用户上传文件到服务器,例如图片、文档等。在Struts中实现文件上传,我们需要理解以下几个关键知识点...
6. **错误处理**:文件上传可能会出现各种问题,例如文件过大、文件类型不合法等。因此,我们需要在Action中处理这些异常情况,返回相应的错误信息给用户。 7. **结果映射**:根据Action的执行结果,Struts2将决定...
Struts2是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中。在Web应用中,文件上传...在实际开发中,我们还需要考虑到安全性问题,如防止文件覆盖、非法文件上传等,确保系统的稳定性和安全性。
确保在Struts2配置中为这个Action类的相应结果添加一个Action Mapping,以便正确跳转到显示图片的JSP页面。 安全方面,上传图片时需要注意防止恶意文件注入,例如限制上传文件的类型和大小。此外,确保文件名的安全...
在处理完文件后,返回相应的结果名称(如"success"或"input"),Struts2会根据结果名称跳转到相应的JSP页面。 在成功页面(如success.jsp)中,可以显示文件上传的结果,比如文件名、大小等信息。 在处理文件上传...
以下是对Struts上传下载源代码的详细解释: 1. **struts-config.xml配置**: 在Struts配置文件`struts-config.xml`中,可以看到针对上传、下载、列表和删除操作的四个`<action>`元素。这些元素定义了不同操作的...
在这个"struts1.0的上传代码"实例中,我们将深入探讨如何在Struts 1.0中实现文件上传功能。 文件上传在Web应用中很常见,例如用户可以上传个人头像或提交文档。在Struts 1.0中,这个过程涉及以下几个关键部分: 1....
一旦文件上传成功,Struts2会根据配置的`success`结果跳转到`/uploadSuccess.jsp`页面,你可以在这里显示上传成功的消息或提供进一步的操作选项。 7. **错误处理** 在实际应用中,你还需要考虑文件上传可能遇到的...
在本案例中,我们探讨的是如何利用Struts2框架处理文件上传,并将上传的图片以BLOB(Binary Large Object)类型存储在数据库中,同时提供下载功能。Hibernate则是一个对象关系映射(ORM)框架,它简化了数据库操作,...
在视频上传管理中,安全问题尤为重要。Struts2提供了一些内置的安全措施,如防止XSS攻击和CSRF防护,但开发者还需要自定义策略,确保视频内容和用户数据的安全。 综上所述,"视频上传管理后台系统Struts2"项目利用...
文件上传成功后,Action应返回一个结果,以便Struts2能够正确跳转到下一个视图,显示上传结果。 以上就是使用Struts2框架实现文件上传的基本步骤和涉及的知识点。在实际项目中,可能还需要考虑并发处理、性能优化...
在上述配置中,我们限制了上传文件的类型和大小,并指定了成功和失败后的跳转页面。 在用户界面,我们通常会显示上传进度、错误信息或上传结果。在`success.jsp`和`upload.jsp`页面中,我们可以根据Action返回的...
在实际操作中,文件上传可能会遇到一些常见的问题,例如文件大小限制、文件类型检查、防止重复文件名等。这些可以通过在Action类中添加额外的验证逻辑来解决。例如,可以使用Struts2的拦截器或者自定义Validator来...
在这个"struts上传图片原代码"中,我们可以看到Struts框架如何处理用户通过网页上传图片的流程。以下是关于这个主题的详细知识点: 1. **ActionForm类**: - ActionForm是Struts框架中用于在控制器和视图之间传递...
然后,将返回一个表示成功的字符串(如“success”),以便Struts2框架知道如何跳转到对应的JSP页面(在本例中是`succ.jsp`)。 为了实现同步上传,你需要在JavaScript(通常是jQuery)中处理表单提交事件。使用...