SWFUpload 怎么删除上传队列里的文件

仙剑 2011-08-09 01:19:40
SWFUpload控件,初始化时我设置文件数量限制为1,

当选择了一个文件后,要重新选择文件怎么办,能不删除已经选择到了队列里的文件
...全文
3235 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
萧学森 2014-03-29
  • 打赏
  • 举报
回复
引用 14 楼 laohuhenshuai 的回复:
swfupload的删除代码var swf = new SWFUpload({ file_queued_handler: function(file) { this.customSettings.queue = this.customSettings.queue || new Array(); while (this.customSettings.queue.length > 0) { this.cancelUpload(this.customSettings.queue.pop(), false); } this.customSettings.queue.push(file.id); }, debug: false }); 同问...这放哪?怎么使用?
放到回调函数里啊
laohuhenshuai 2013-09-03
  • 打赏
  • 举报
回复
swfupload的删除代码var swf = new SWFUpload({ file_queued_handler: function(file) { this.customSettings.queue = this.customSettings.queue || new Array(); while (this.customSettings.queue.length > 0) { this.cancelUpload(this.customSettings.queue.pop(), false); } this.customSettings.queue.push(file.id); }, debug: false }); 同问...这放哪?怎么使用?
zhangslstone 2013-06-17
  • 打赏
  • 举报
回复
swfupload的删除代码var swf = new SWFUpload({ file_queued_handler: function(file) { this.customSettings.queue = this.customSettings.queue || new Array(); while (this.customSettings.queue.length > 0) { this.cancelUpload(this.customSettings.queue.pop(), false); } this.customSettings.queue.push(file.id); }, debug: false });放到那啊?好心人提醒一声呗
scm3182419 2012-12-20
  • 打赏
  • 举报
回复
大神们,swfupload 有删除功能么?是cancelupload 函数么?怎么用 file id 是多少? 就查这个功能了,困扰了我好久啊。。。谢谢各位了
阿蘺 2012-10-10
  • 打赏
  • 举报
回复
怎么让它队列里面没有文件也可以访问目标路径,现在它里面带的有数据(参数),有时不需要上传只要数据,可可队列里面没有文件时它不做startUpload操作,有什么办法吗
guzuomuse 2012-07-12
  • 打赏
  • 举报
回复
兄弟,我也纠结这个问题很久了,而且用了别的方法折中的做出来了,可以这么说:现在swfupload提供的方法,完全能够实现基本上你想到的所有功能,只不过你可能会绕一些路子。

但是::::::我很郁闷的发现,原来swfupload还有一个swfupload.queue.js插件

而这个里面定义了cancelQueue()“*Adds a cancelQueue() method for cancelling the entire queue.”

可以取消整个队列……NND的,这让老夫情何以堪!!
仙剑 2011-08-10
  • 打赏
  • 举报
回复
这个办法可行,谢谢7楼的朋友

真是的,SWFUpload干嘛不提供一个清空队列的方法呢,这可是个常用的方法呀
ZXY900213 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zxy900213 的回复:]

不好意思,写错了,应该是这样...

JScript code
var swf = new SWFUpload({
file_queued_handler: function(file) {
this.customSettings.queue = this.customSettings.queue || new Array();
while ……
[/Quote]

在添加文件到队列之前把队列清空就OK了...
ZXY900213 2011-08-10
  • 打赏
  • 举报
回复
不好意思,写错了,应该是这样...

var swf = new SWFUpload({
file_queued_handler: function(file) {
this.customSettings.queue = this.customSettings.queue || new Array();
while (this.customSettings.queue.length > 0) {
this.cancelUpload(this.customSettings.queue.pop(), false);
}
this.customSettings.queue.push(file.id);
},
debug: false
});
仙剑 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wsdydmw 的回复:]

楼主知道用SWFUpload如何实现QQ邮箱的那种附件上传方式不
就是上传一个文件之后 可以看到他的名字 并且还可以选择删除它
[/Quote]

只要知道如何删除SWFUpload文件队列中的文件,这个功能应该很好实现,探讨中
仙剑 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zxy900213 的回复:]

其实也不怎么麻烦,照你那么说的话,就这么几句就可以搞定了。。。

JScript code
var swf = new SWFUpload({
file_queued_handler: function() {
var queue = this.customSettings.queue || new Array();
while (queue.len……
[/Quote]

file_queued_handler 是文件添加到队列后触发的事件吧,这样的话添加了一个文件到队列就要弹出一个,那么岂不是一个文件都添加不到队列啦

ZXY900213 2011-08-10
  • 打赏
  • 举报
回复
其实也不怎么麻烦,照你那么说的话,就这么几句就可以搞定了。。。

var swf = new SWFUpload({
file_queued_handler: function() {
var queue = this.customSettings.queue || new Array();
while (queue.length > 0) {
this.cancelUpload(queue.pop(), false);
}
},
debug: false
});


wsdydmw 2011-08-09
  • 打赏
  • 举报
回复
楼主知道用SWFUpload如何实现QQ邮箱的那种附件上传方式不
就是上传一个文件之后 可以看到他的名字 并且还可以选择删除它
仙剑 2011-08-09
  • 打赏
  • 举报
回复
这么麻烦呀,谢啦,我试试

其实我的需求很简单,就是用户点了按钮打开文件浏览框,选择一个文件后,那么SWFUpload就把文件添加到队列里了,但是用户又不想上传这个文件了,想另外选择一个文件(还没有上传),这时再打开文件浏览框选择另一个文件,由于设置了上传文件数量限制(这里是1),所以SWFUload会提示错误。

就为了解决这样一个小而常见的问题就要动用数组,还要循环遍历,真是小题大作了!
ZXY900213 2011-08-09
  • 打赏
  • 举报
回复
SWFUpload貌似没有清空队列的方法,但是他有个cancelUpload方法可以一个一个取消。
如果你要清空队列的文件,你可以用一个数组,在他没加入一个文件到队列的时候(file_queued_handler事件可以截取到)把文件ID记录下来,再循环调用cancelUpload方法

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧