Rooock 2009-12-18 19:23
浏览 291
已采纳

Ext文件上传的三个问题

我想实现一个文件上传的功能:

(1) 选择一个文件A. 点击选择按钮. 将文件A的路径显示面板上.

(2) 文件名的后面带有删除的图标. 表示可删除[color=blue]准备上传[/color]的文件.

(3) 可选择多个文件.如选择一个文件B. 重复步骤(1)...

具体效果就像JE问答的上传附件那样, 可上传多个. 可删除.

而我的思路如下:

(1) 定义一个文件选择的formpanel

[code="js"]
var fileSelectFormPanel = new Ext.form.FormPanel({
items:[{
xtype:'textfield'
,fieldLabel:'文件路径'
,inputType:'file'// 出现选择文件的按钮
,allowBlank:false
,blankText:'请选择上传的文件'
}]
});
[/code]

(2) 定义一个显示准备上传文件的面板

这个很简单, 就是在(1)中选择了什么文件, 就在面板把文件的目录和文件名显示出来.
后面再带上一个删除的图标.

(3) 定义一个formpanel. 上传所有的文件.

在这个form中, 才是真正的上传的文件.
因为formpanel不能嵌套formpanel.
所以我打算用一些隐藏字段来提交.
隐藏的字段的值得就是已选择的文件的全路径

[code="js"]
var uploadFiles = new Ext.form.FormPanel({
url:'xxxxAction!myMethod.action'
,fileUpload:true // 必须指定
,buttons:[
{xtype:'button', text:'上传', handler:function(){
// files是文件全路径
uploadFiles.setValues(files);
}}
]
});
[/code]

这么做,想法都可能是有问题, 因为我发现有几个地方实现不了.

color=red 得不到文件的全路径.[/color]
无论是fileSelectFormPanel.getValue()或是fileSelectFormPanel.getRawValue()都只是文件的名而已.

color=red 实现不了多文件一起上传.[/color]
表单uploadFiles实质上还是只能上穿一个文件.

color=red 如果给一个全路径的字符串. 如c:/123.txt, 做为隐藏字段.这样后台也能接受到吗??[/color]

  • 写回答

1条回答 默认 最新

  • zhoujuan520 2009-12-19 22:25
    关注

    quote 得不到文件的全路径.
    无论是fileSelectFormPanel.getValue()或是fileSelectFormPanel.getRawValue()都只是文件的名而已.

    (2) 实现不了多文件一起上传.
    表单uploadFiles实质上还是只能上穿一个文件.

    (3) 如果给一个全路径的字符串. 如c:/123.txt, 做为隐藏字段.这样后台也能接受到吗?? [/quote]

    1.除了IE浏览器外,都只能获得文件名.
    2.可以多文件上传,你就普通html上传的那种表单都可以多文件上传,javaeye那种是通过ajax异步提交了数据到后了.
    [url]http://max-bazhenov.com/dev/upload-dialog-2.0/index.php[/url]

    3.只要控件没有被disabled,后台都可以接受.

    另外上传有很多解决办法,推荐使用swfuplaod
    [url]http://yourgame.iteye.com/blog/549328[/url]
    [img]http://dl.iteye.com/upload/attachment/180890/513be33d-6ea0-383b-a977-640e421d92b9.png[/img]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧