有没有遇到页面是新建一个新对象,对象里面需要上传附件,但是只有当对象保存时才将附件一同上传到数据库的情况?

这种情况的处理可以参考狐狸的思路:

@jsp页面创建一个botton bn,该button的实现用ExtJS实现。

@ExtJS用 form.form.submit()实现把文件附件上传到服务器本地,同时将文件的路径fileName和其它的对象信息通过JSONObject从后台   Sevlet传到到前台。

前台ExtJS:先将后台传递过来的JSONObject转换为JSON,然后用js的DOM操作渲染到JSP页面的input中,实现局部刷新。

form.form.submit({
         url : '/PolicyPackage?tg=uploadPolicyAtt&nbbm='+nbbm+"&fileName="+fileName,
         method : 'POST',
         waitMsg: '正在上传...',
         success : function() {
                function(form, result) {//表单提交成功后,调用的函数.参数分为两个,一个是提交的表单对象,另一个是JSP返回的参数值对象  
                       Ext.Msg.alert('Message','上传成功!');
                       //alert(result.response.responseText); //返回的json值的字符串
                       var json = Ext.util.JSON.decode(result.response.responseText); //用JSON对象获取JSON数据的值
                        //将返回的值渲染到jsp的INPUT
                       document.getElementById("attNBBM").value=json.attNBBM;//政策附件内部编码
                        document.getElementById("attName").value =json.attName;//附件名称
                       document.getElementById("attName").innerHTML =json.attName;//附件名称
                        win.close();
                },
               failure : function() {
                        Ext.Msg.alert('Error','上传失败.');
                }
});

======================================================================

若这里是Ext.Ajax.request(后台都是添加到JSONObject,由response.getWriter输出)

Ext.Ajax.request({
                                            url: '/PolicyPackage',
                                            params: { tg:'delPolicyAtta', nbbm: this.get("nbbm") },
                                            method: 'POST',
                                            success: function (response) {
                                                store.load({params:{
                                                     start:0,limit:15
                                                 }});
                                                Ext.MessageBox.alert('成功', '附件删除成功');
                                                 var json = Ext.util.JSON.decode(response.responseText);
                                                var tempNBBM = document.getElementById("attNBBM").value;
                                                 var newNBBM = tempNBBM .replace(("'"+json.nbbm+"',"),"");
                                                 document.getElementById("attNBBM").value=newNBBM;
                                            },
                                            failure: function (response) {
                                                Ext.MessageBox.alert('失败', '附件删除失败');
                                            }
                                     })

区别在红色标注部分

@ JSP页面使用隐藏的input表单,可以获取ExtJS返回的json数据

@ 最后提交表单的时候传递到后台进行其它信息的保存与处理

由于文件是暂存在服务器本地的,所以当提交表单的时候要处理:

1、将服务器本地临时文件上传到服务器,并且删除临时文件

2、当对象不保存即表单不保存时删除临时文件

===============================================================================

但是这种模式仅仅适合用户不需要查看上传附件的情况,如果客户需要查看附件,这不能这么处理。

考虑下列做法:

将文件直接上传到数据库,表单不保存的时候删除数据库的文件。

上面这些是将附件放到数据库中的,但是也有大部分是将附件连接放到数据库中,但是文件放在服务器本地。

这种情况的处理就简单多了。但是人家客户这么要求整个文件放在数据库中,狐狸也只能想到这么做了。

jsp页面附件上传暂存的处理的更多相关文章

  1. jsp大附件上传,支持断点续传

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 这次项目的需求: 支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,i ...

  2. jsp页面实现上传文件,并且还得支持断点续传的功能

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ...

  3. Springmvc file多附件上传 显示 删除操作

    之前项目需求要做一个多附件上传 并显示上传文件 带删除操作 一筹莫展之际搜到某个兄弟发的博客感觉非常好用被我copy下来了此贴算是改良版 再次感谢(忘记叫什么了时间也有点久没有历史记录了)先上图 基于 ...

  4. 使用plupload做一个类似qq邮箱附件上传的效果

    公司项目中使用的框架是springmvc+hibernate+spring,目前需要做一个类似qq邮箱附件上传的功能,暂时只是上传小类型的附件 处理过程和解决方案都需要添加附件,处理过程和解决方案都可 ...

  5. asp.net结合uploadify实现多附件上传

    1.说明 uploadify是一款优秀jQuery插件,主要功能是批量上传文件.大多数同学对多附件上传感到棘手,现将asp.net结合uploadfiy如何实现批量上传附件给大家讲解一下,有什么不对的 ...

  6. JSP多文件上传到服务器

    问题描述: 作为一个Java开发Web方向的程序员,很重要的一个功能,就是上传文件功能是一定要掌握的,今天整理了一下代码. 1.JSP显示界面代码和动态添加上传文件个数. <%@ page la ...

  7. 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用

    大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔<Web开发中的文件上传组件uploadify的使用>中可以看到,Asp.NET中 ...

  8. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径

    本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...

  9. Dynamic CRM 2013学习笔记(十三)附件上传 / 上传附件

    上传附件可能是CRM里比较常用的一个需求了,本文将介绍如何在CRM里实现附件的上传.显示及下载.包括以下几个步骤: 附件上传的web页面 附件显示及下载的附件实体 调用上传web页面的JS文件 实体上 ...

随机推荐

  1. ES6解构赋值

    前面的话 我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段.在ES6中添加了可以简化这种任务的新特性:解构.解构是一种打破数据结构,将其拆分为更小部分的过程.本文将详细介绍ES6解构赋值 ...

  2. Spring mybatis源码篇章-MybatisDAO文件解析(二)

    前言:通过阅读源码对实现机制进行了解有利于陶冶情操,承接前文Spring mybatis源码篇章-MybatisDAO文件解析(一) 默认加载mybatis主文件方式 XMLConfigBuilder ...

  3. 【JAVASCRIPT】React学习- 与 flux 结合使用

    摘要 react 学习包括几个部分: 文本渲染 JSX 语法 组件化思想 数据流 与flux 结合使用

  4. NOIP2011玛雅游戏

    闲的没事干,出来写一下早两天刷的一道搜索题NOIP2011玛雅游戏,其实这道题还是比较水的,虽然看起来可能有点复杂. 方法很简单粗暴,直接根据规则模拟就行. 话不多说直接上代码(关键操作在注释中有提到 ...

  5. 从Ubunt的安装到hadoop集群的搭建

    一.相关基础配置 1.网络设置 a.调整VMnet8这块网卡网关 b.在VMware[编辑]->[虚拟网络编辑器]对VMnet8进线[NAT 设置] c.调整[DHCP 设置]中的起始IP地址 ...

  6. dubbo-zookeeper(续)

    本篇为继上一篇的续篇,主要内容分为以下几点: 1.zookeeper集群 2.web管理平台 3.dubbo配置说明 接下来我们开始继续吧. 一.zookeeper集群 顾名思义也就是多台zookee ...

  7. ORACLE - 管理表空间和数据文件

    ORACLE表空间是一个逻辑分区,一个数据文件只能属于一个表空间,一个表空间可以拥有多个数据文件. 一般情况下,如果一个实例分配给多个应用使用,需要创建不同的表空间,每个用户使用自己的表空间. 一.表 ...

  8. JAVA基础2----数据类型和运算符

    Java数据类型 1.基本数据类型 整数:byte/short/int/long byte:-128~127 (1个字节) short:-2^15~2^15-1 (2个字节) int(默认类型):-2 ...

  9. Redis-位图法实现简单统计

    比如一个网站有1亿个用户, 现在要统计一周内连续登录的用户 方法: 可以用一个字节8个位表示7个人, 首位不算固定为0, 若某人周一登录则置为1, 没登录则为0 127.0.0.1:6379> ...

  10. Vmware虚拟机三种网络模式详解

    原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 我怕链 ...