jsp页面附件上传暂存的处理
有没有遇到页面是新建一个新对象,对象里面需要上传附件,但是只有当对象保存时才将附件一同上传到数据库的情况?
这种情况的处理可以参考狐狸的思路:
@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页面附件上传暂存的处理的更多相关文章
- jsp大附件上传,支持断点续传
我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 这次项目的需求: 支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,i ...
- jsp页面实现上传文件,并且还得支持断点续传的功能
我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ...
- Springmvc file多附件上传 显示 删除操作
之前项目需求要做一个多附件上传 并显示上传文件 带删除操作 一筹莫展之际搜到某个兄弟发的博客感觉非常好用被我copy下来了此贴算是改良版 再次感谢(忘记叫什么了时间也有点久没有历史记录了)先上图 基于 ...
- 使用plupload做一个类似qq邮箱附件上传的效果
公司项目中使用的框架是springmvc+hibernate+spring,目前需要做一个类似qq邮箱附件上传的功能,暂时只是上传小类型的附件 处理过程和解决方案都需要添加附件,处理过程和解决方案都可 ...
- asp.net结合uploadify实现多附件上传
1.说明 uploadify是一款优秀jQuery插件,主要功能是批量上传文件.大多数同学对多附件上传感到棘手,现将asp.net结合uploadfiy如何实现批量上传附件给大家讲解一下,有什么不对的 ...
- JSP多文件上传到服务器
问题描述: 作为一个Java开发Web方向的程序员,很重要的一个功能,就是上传文件功能是一定要掌握的,今天整理了一下代码. 1.JSP显示界面代码和动态添加上传文件个数. <%@ page la ...
- 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用
大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔<Web开发中的文件上传组件uploadify的使用>中可以看到,Asp.NET中 ...
- 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径
本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...
- Dynamic CRM 2013学习笔记(十三)附件上传 / 上传附件
上传附件可能是CRM里比较常用的一个需求了,本文将介绍如何在CRM里实现附件的上传.显示及下载.包括以下几个步骤: 附件上传的web页面 附件显示及下载的附件实体 调用上传web页面的JS文件 实体上 ...
随机推荐
- jsp 之 解决 Mysql net start mysql启动,提示发生系统错误 5 拒绝访问的问题
在dos下运行net start mysql时 !!!提示发生系统错误 5:拒绝访问!只要切换到管理员模式就可以启动了. 所以我们要以管理员身份来运行cmd程序来启动mysql. 1.在开始菜单的搜索 ...
- 51nod 1130 N的阶乘的长度(斯特林近似)
输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 1000) 第2 - T + ...
- ios扫雷
就这些代码敲了我两个小时...... // ViewController.m // 扫雷 // // Created by 晚起的蚂蚁 on 2017/3/22. // Copyright © ...
- Eclipse中将hadoop项目放在集群中运行
1.加入配置文件到项目源码目录下(src) <configuration> <property> <name>mapreduce.framework.name< ...
- txt文件怎么设置默认打开是用这个EditPlus软件打开
1.如果是正常安装的Editplus,只需要右击“txt文件”,在“打开方式”中选择“打开程序”,再点击“浏览”,找到“Editplus”打开,再将“始终使用选择的程序打开这种文件”前面的“口”选中, ...
- C#之隐式与显示类型转换
今天在看一篇有关数据类型的文章的时候,无意间看到了两个关键词,"隐式转换"与"显示转换",然后突然想起了当初开始学编程的时候,也总是在代码编译的时候遇到这样的问 ...
- 前端到后台ThinkPHP开发整站(1)
1.前言: 我个人从来没有写过博客文章,作为一个程序员没有自己的博客算是一个合格的程序员,所以我地想想也要经营起一个的博客,做一个小项目,写这博客算就做这个项目的一个项目笔记吧!现在自学着ThinkP ...
- 验证码的Java实现--jsp
<%@ page language="java" pageEncoding="UTF-8" %> <%@ page contentType=& ...
- 十分钟帮你搭建专业的内容付费平台(APP/网站)
内容付费变现时代,从商业运营角度出发,全面付费系统多方面支付节点,强化优质付费价格核心,ThinkSNS+(简称TS+),专注于帮助创业者变现,抓取社群经济,让您拥有专属的知识变现软件系统. 一.内容 ...
- .NET并行计算和并发2-Foreground and Background Threads
后台线程不会使托管执行环境处于运行状态,除此之外,后台线程与前台线程是一样的. 一旦所有前台线程在托管进程(其中 .exe 文件是托管程序集)中被停止,系统将停止所有后台线程并关闭.