fileuploadfield 上传原文件名及原文件类型的取法
来源:互联网 发布:淘宝买保险在哪里买 编辑:程序博客网 时间:2024/05/16 07:18
在ext中fileuploadfield 组件提供了文件上传的功能,可是问题在于如果我们在后台用File取得上传的文件,ext会只给你一个缓存文件,也就是说原文件的信息不见了!那么如何取得原文件的信息呢?请看下面代码:
在JS中有这么一段代码:
{
xtype:"fieldset",
labelWidth:1,
title:"导入XML",
items:[{
height:5,
border:false
},{
xtype:"fileuploadfield",
name:"serviceXml",
buttonText: '上传标准XML文件',
buttonOnly: true,
buttonCfg: {
height:15,
width:150
},
listeners: {
'fileselected': {
fn:this.xmlUpload,
scope:this
}
}
}]
}
此处是生成一个fileuploadfield组件,名字为serviceXml,是想上传xml文件
后台:
private File serviceXml; //上传文件
private String serviceXmlFileName; //上传原文件名
private String serviceXmlContentType;//上传原文件类型
//上传xml
public String uploadXml() {
boolean flag = false;
jsonObject = new JSONObject();
try{
if (serviceXml != null) {
//取得原文件类型
String fileType = serviceXmlContentType.substring(serviceXmlContentType.indexOf("/") + 1);
if(fileType.indexOf("xml")>0){
SAXReader read = new SAXReader();
Document document = read.read(serviceXml);
Element root = document.getRootElement();
List<Element> nodes = root.elements();
for(Element node : nodes){
String nodeName = node.getName();
String nodeValue = node.getText();
if("url".equals(nodeName)) jsonObject.put("url", nodeValue);
if("serviceType".equals(nodeName)) jsonObject.put("serviceType", nodeValue);
if("title".equals(nodeName)) jsonObject.put("title", nodeValue);
if("serviceTypeVersion".equals(nodeName)) jsonObject.put("serviceTypeVersion", nodeValue);
if("purpose".equals(nodeName)) jsonObject.put("purpose", nodeValue);
if("dateTime".equals(nodeName)) jsonObject.put("dateTime", nodeValue);
if("keywrds".equals(nodeName)) jsonObject.put("keywrds", nodeValue);
if("mabstract".equals(nodeName)) jsonObject.put("mabstract", nodeValue);
if("individualName".equals(nodeName)) jsonObject.put("individualName", nodeValue);
if("organisationName".equals(nodeName)) jsonObject.put("organisationName", nodeValue);
if("deliveryPoint".equals(nodeName)) jsonObject.put("deliveryPoint", nodeValue);
if("administrativeArea".equals(nodeName)) jsonObject.put("administrativeArea", nodeValue);
if("city".equals(nodeName)) jsonObject.put("city", nodeValue);
if("voice".equals(nodeName)) jsonObject.put("voice", nodeValue);
if("telphone".equals(nodeName)) jsonObject.put("telphone", nodeValue);
if("email".equals(nodeName)) jsonObject.put("email", nodeValue);
}
flag = true;
}else{
this.info = "请上传XML文件";
}
} else {
this.info = "XML上传失败,请检查网络状态!";
}
} catch(Exception e) {
e.printStackTrace();
log4jExecuteIndex.executeFunctionLog(super.getUser().getLoginame(), getRequest(), Log4jExecuteImpl.operateStateFail);
this.info = "XML上传失败,请检查网络状态!";
}
log4jExecuteIndex.executeFunctionLog(super.getUser().getLoginame(), getRequest(), Log4jExecuteImpl.operateStateSuccess);
jsonObject.put("success", true);
jsonObject.put("flag", flag);
jsonObject.put("msg", this.info);
return "jsonObject";
}
相信看了上段代码,大家都会明白,在ext的fileuploadfield组件中,定义了一个对象后,它会自动生成两个变量来装填这个原对象的属性,例如将组件名命名为OBJ那么它就会生成OBJFileName和OBJContentType这两个变量,而这两个变量中装的就是原文件所对应的名字和类型
注意:这三个变量一定要有getter和setter方法
- fileuploadfield 上传原文件名及原文件类型的取法
- fastDFS上传图片额外产生了一个“原文件名-m"的文件
- zencart上传产品图片后会被重命名修改为保持原文件名
- tp5 删除上传的原文件出现权限问题
- Keil-原文件类型不明确导致编译出错的解决方法
- html input控件type为file上传文件、图片,及保存为原文件
- 【Bash】实现指定目录下的文件编码转换,以原文件名保存
- phonegap(cordova) 入门 3----uglifyjs 压缩js,直接生成原文件名的方式
- java 原文件名不一定要和类名一样
- 批处理使用WinRAR压缩某类型的文件,一个文件压缩成一个压缩包,压缩后名称与原文件同名,压缩后删除原文件
- IIS下载一直是原文件的问题
- ps动作储存覆盖原文件的原因
- Mac 输入法原文件的安装位置
- 在mini2440原文件系统上加入tslib及qt4.7.2
- 请教:oa办公问题 上传word文档后,通过ie阅读,再修改后覆盖服务器端的原文件
- 获取快捷方式原文件路径
- perl:修改原文件
- perl修改原文件内容
- nxterm终于可以使用了
- 国家中长期科学和技术发展规划纲要(转自新华网)
- 第一次遇到这样的问题
- ppc 与pc同步(microsoft activeSync)方法
- magento 1.4-- 推荐插件 -- 新的图片放大镜插件 -- Cloudzoom
- fileuploadfield 上传原文件名及原文件类型的取法
- Oracle数据库服务器搭建
- 常用SQL语句
- curl用法1
- javascript日历控件脚本
- TextView中添加HTTP链接
- jQuery Ajax jsonp 跨域
- Qt/Embedded图形化开发
- 在ARMSYS(S3C44B0X开发板)上进行uClinux内核移植的总结