Skip to content
This repository has been archived by the owner on Aug 22, 2022. It is now read-only.

(gh-pages评论)Document #80

Open
2betop opened this issue Jan 6, 2014 · 99 comments
Open

(gh-pages评论)Document #80

2betop opened this issue Jan 6, 2014 · 99 comments
Labels

Comments

@2betop
Copy link
Contributor

2betop commented Jan 6, 2014

以下评论将自动发布在Web Uploader Document页面里面。

@2betop
Copy link
Contributor Author

2betop commented Mar 18, 2014

和以前是一样的,$_FILES["file"]

如果是以二进制发送的,则通过php://input读取。你可以参考这里

@pkkgu
Copy link

pkkgu commented Apr 1, 2014

有个项目需要在同一个页面生成10++个上传按钮,用什么方式比较好

@2betop
Copy link
Contributor Author

2betop commented Apr 1, 2014

是指一个webuploader实例,对应多个添加按钮吗?调用addButton绑定多个按钮啊。

@pkkgu
Copy link

pkkgu commented Apr 1, 2014

多个按钮,多个列队

@2betop
Copy link
Contributor Author

2betop commented Apr 1, 2014

哦,那得在each里面,每个都去初始化一个webuploader实例了。

@pkkgu
Copy link

pkkgu commented Apr 1, 2014

可以配置公共设置吗?

因为大部分工作都是一样的
auto: true,
swf: 'http://cdn.staticfile.org/webuploader/0.1.0/Uploader.swf',
server: 'http://webuploader.duapp.com/server/fileupload.php',

uploader.on( 'fileQueued', function( file ){
uploader.on( 'uploadProgress', function( file, percentage ) {
uploader.on( 'uploadError', function( file ) {
uploader.on( 'uploadComplete', function( file ) {

@2betop
Copy link
Contributor Author

2betop commented Apr 1, 2014

目前还没有这个功能。倒是可以考虑加个此功能。
不过我觉得这块你也可以简单的在外部实现啊

@pkkgu
Copy link

pkkgu commented Apr 1, 2014

主要是因为,同一页面的 图片上传 按钮由JQ动态 添加和删除,按钮的数量不可控制

@pkkgu
Copy link

pkkgu commented Apr 1, 2014

如果给个config效率应该可以提升很多,不过webuploader已经很不错了 >^.^<```

@2betop
Copy link
Contributor Author

2betop commented Apr 1, 2014

我想起来了,其实已经与这个功能。我晕了。

直接修改这个对象。

$.extend( WebUploader.Uploader.options, {
    auto: true,
    swf: 'http://cdn.staticfile.org/webuploader/0.1.0/Uploader.swf',
    server: 'http://webuploader.duapp.com/server/fileupload.php',
});

@pkkgu
Copy link

pkkgu commented Apr 1, 2014

这些也可以这作工作吗?
uploader.on( 'fileQueued', function( file ){
uploader.on( 'uploadProgress', function( file, percentage ) {
uploader.on( 'uploadError', function( file ) {
uploader.on( 'uploadComplete', function( file ) {

@2betop
Copy link
Contributor Author

2betop commented Apr 1, 2014

刚刚支持了这个功能。用这里面的代码

WebUploader.Mediator.on('fileQueued', function( uploader, type/*, args...*/ ) {
    // 所有uploader的事件都会广播到中介者这层来。
});

WebUploader.Mediator.on('uploadProgress', function( uploader, type/*, args...*/ ) {
    // 所有uploader的事件都会广播到中介者这层来。
});

@pkkgu
Copy link

pkkgu commented Apr 1, 2014

谢谢了!
在你没有给答案之前,我把实例化过程放进一个函数里面,基本实现我需要的功能了!
但是发现了新的问题,webuploader没有给出销毁按钮的方法
例子:http://www.uploadify.com/documentation/uploadify/destroy/

up_file('.filePicker1','.fileList1');
up_file('.filePicker1','.fileList1');
上面的例子是JQ动态添加和删除按钮时,有可能会执行到一个重复的按钮ID,导致按钮被添加两次或者多次!
这个需求可能不会很多,但是实例化之前webuploader应该检测一次同ID的按钮是否已经被实例化!
或者给出方法,让开发人员在项目上自行检测销毁之前后操作

function up_file(AddButtonId,ListId){
var $ = jQuery,
$list = $(ListId),
// 优化retina, 在retina下这个值是2
ratio = window.devicePixelRatio || 1,

    // 缩略图大小
    thumbnailWidth = 100 * ratio,
    thumbnailHeight = 100 * ratio,

    // Web Uploader实例
    uploader;

// 初始化Web Uploader
uploader = WebUploader.create({

..............
}

@2betop 2betop added the gh-pages label Apr 3, 2014
@baihuibo
Copy link

我发现你的API的页面里面,在事件说明的这块,有个事件'uploadSuccess',这个事件应该可以接收2个参数,file和resporse,你少写了resporse的说明,我还以为没有这个参数勒

@2betop
Copy link
Contributor Author

2betop commented Apr 22, 2014

@baihuibo 恩,后来加上了。
@pkkgu 没看到,居然发了这么多内容,destroy在下个版本中加上,多谢反馈。

@huangjiye
Copy link

我上传多个图片的时候,部分图片丢失……

2 similar comments
@huangjiye
Copy link

我上传多个图片的时候,部分图片丢失……

@huangjiye
Copy link

我上传多个图片的时候,部分图片丢失……

@2betop
Copy link
Contributor Author

2betop commented Apr 22, 2014

是不是开起chunked了而且后端没有进行chunked处理?

@huangjiye
Copy link

您好!
感谢您的回复!我后端处理有问题,已经找到问题的原因!非常感谢您。webuploader very good!!!

------------------ 原始邮件 ------------------
发件人: "廖学芝";notifications@github.com;
发送时间: 2014年4月22日(星期二) 晚上9:24
收件人: "fex-team/webuploader"webuploader@noreply.github.com;
抄送: "黄继业"1003000869@qq.com;
主题: Re: webuploaderDocument (#80)

是不是开起chunked了而且后端没有进行chunked处理?


Reply to this email directly or view it on GitHub.

@duson
Copy link

duson commented Apr 24, 2014

如果在后台,我要上传到Ftp中,上传的时候出现进度条到99%了后台才开始进行Ftp传输,所以对用户看来,1%还要用很长的时间,前面却飞快。有没有好的解决方案?

@2betop
Copy link
Contributor Author

2betop commented Apr 24, 2014

采用分块吧,分块越小,误差越小

@duson
Copy link

duson commented Apr 24, 2014

分块的话,会造成没等前一个传完,下一块就开始传了。文件似乎会被破坏。另外一些Ftp服务器在第二分块连接时会直接会返回550 can't access file错误,拒绝多线程写同一个文件

@2betop
Copy link
Contributor Author

2betop commented Apr 24, 2014

哦,了解了。要不你还是把文件存在自己的服务器上吧,然后再来个cronjob, 定期将那个目录里面的文件自动ftp上传。

@duson
Copy link

duson commented Apr 24, 2014

这样的话,就不实时了,用户通过Ftp访问不了文件,不知道百度云网盘在没装上传控件的情况下,是怎么做到的

@duson
Copy link

duson commented Apr 24, 2014

或者分块传输时,怎样使它分块间同步Post到服务端,按顺序提交到服务端,第一块完成返回后,才继续将第二块向服务端提交?

@2betop
Copy link
Contributor Author

2betop commented Apr 24, 2014

同时你又想开起并发是不?

@duson
Copy link

duson commented Apr 24, 2014

不同文件之间的开发,可以有,也可以无吧。同一文件分块之间一定要同步,不能并发了

@2betop
Copy link
Contributor Author

2betop commented Apr 24, 2014

目前不满足这种逻辑

@hellocpu
Copy link

@2betop 这个问题比较急,麻烦看下,IE9的,上传不了,怎么办呢?

@goofy1st
Copy link

@2betop 项目中引入requirejs参考了在requirejs中如何使用webuploader调试了多种方式,还是提示WebUploader未定义,请问下是哪里配置的不对呢?谢谢

@wenjie0313
Copy link

在php的服务器上,用 $_FILES["file"] 取,那么图片的路径是什么,属性是什么;
qq 20150604163350

@fujianai
Copy link

fujianai commented Jun 6, 2015

请问下,一个页面,有多个上传的实例,需要怎么处理,我有设计了两个实例,然后变量名都不一样,就只能一个可以,这是为什么?

@zhouhao4221
Copy link

请问大神们,图片上传后编辑的时候如何初始化上次上传的图片数据列表呢,没找到API

@xie0770
Copy link

xie0770 commented Jun 9, 2015

大神,我按照你的例子,在本地上总是配置不对,求指教

@xie0770
Copy link

xie0770 commented Jun 9, 2015

配置这个pick: '#picker'按钮读显示不出来

@echo-tang
Copy link

请问下,一个页面,有多个上传的实例,需要怎么处理,我有设计了多个实例,然后变量名都不一样,如果从最后实例化的button向最先实例化的点击就都可以用,反过来就不能使用。

@zl1503
Copy link

zl1503 commented Jul 13, 2015

您好 我是用mvc4写的网页 我的遇到的问题是我没有用accept参数限制文件类型 因为需要是可以上传任何文件 但是上传的时候有些图片和exe文件(注:是一部分,不是全部)是上传不了的 我的server是某个我特定的action我在此处打了断点 在上传的时候都不会进到这个action 还有一点因为设计方面 我们将webuploader的文件根据类型分别拆开了定义的bundle虚拟路径 跟这个会有关系吗 因为用artdialog有这样的问题 他有要调用js 不能用虚拟路径。补充一个问题:有时候用formdata传值也会出现传不了的情况。。比如定义2个值一个可以传另外一个没有传过去

@pheart
Copy link

pheart commented Jul 24, 2015

1:能否设置请求头x-requested-with,服务器端要判断上传的文件类型。 现在我上传excel,服务器取不到文件类型
2:上传一张图片以后,再次上传该张图片,无法上传了

@CoderQuixote
Copy link

请问我的需求是只能上传一个图片,当我重复上传同一张图片时就会出现这个错误“error:F_DUPLICATE”,怎么解决?

@hoperuin
Copy link

android 系统下 文件大于2M都会出现上传到后台大小是0的情况,怎么解决?压缩算法出问题了吗?

@wufusheng
Copy link

文件上传成功后 保存到指定的文件夹下面了 该怎么获取 文件的地址呢 页面 上的图片是一个加密的字符串 怎么获取图片的路径呢

@yuanjiejie
Copy link

请问 在控件初始化的时候如何指定默认的文件,让其显示呢?

@ymsun
Copy link

ymsun commented Nov 30, 2015

不好意思 我找到问题了

@dsky1990
Copy link

支持的最低版本的jq是多少呢

@ghost
Copy link

ghost commented Jul 19, 2016

我想问下如何确认该文件的唯一ID? id: "WU_FILE_0" 这种要是删除文件的时候就不好用了

@mistyjae
Copy link

ie8/ie9上传静态图是ok的,但上传动图的时候头部信息显示如图,导致上传失败
11111

@haiyume
Copy link

haiyume commented Nov 4, 2016

您好,请问用babel ES2015转义后出现语法报错,提示严格模式下秒禁用arguments,callee等,如何解决呢?

@azumia
Copy link

azumia commented May 4, 2017

@haiyume 你好,现在找到解决方法了吗?

@huayangmeng
Copy link

图片在加入队列之前,如何压缩图片后,再加入队列呢?

@jiangsu1994
Copy link

webuploader传图片到后台显示成功,但接收到的为空,是怎么回事?还有就是用node怎么接收传过去的图片

@hanyitim
Copy link

@hellocpu 你那时候遇到的 “Accept: text/*
User-Agent: Shockwave Flash” 这个问题解决了吗?我现在没有跨域,也有这个问题

@wgt464649654
Copy link

可以使用webuploader进行自主开发吗?用于商业

@InterHorse
Copy link

请问pick属性绑定的按钮怎么修改样式?

@xuetu0606
Copy link

请问我用PHP怎么才能获取到上传到文件,如果用表单的话还会有一个input file的name,那么这个插件上传的文件name是什么我该怎么获取到这个文件啊

@yuanshuijiao
Copy link

//当某个文件的分块在发送前触发,主要用来询问是否要添加附带参数,大文件在开起分片上传的前提下此事件可能会触发多次。
uploader.on('uploadBeforeSend', function (block, data, headers) {
console.log(block);
// block为分块数据。
// file为分块对应的file对象。
var file = block.file
//分块的MD5
var fileMd5 = file.wholeMd5;

var MD5 = null;
//文件后缀
data.bucketIdentifier = bucketId;

data.directory = $("#directory").val();
data.fileName = file.name;
data.MD5 = MD5;
data.sliceMD5 = fileMd5;
data.index = file.chunk;
data.total = file.chunks;
data.uploadTime = new Date().getTime()
data.extension = file.ext;
data.size = file.size;

}); 我想获取分片文件的md5,但是获取不到也,uploadBeforeSend里边如何可以获取总文件呢?我还得获取总文件的md5

@tangguodada
Copy link

tangguodada commented Jul 13, 2018

我在register里面自定义了三个方法,分别是文件上传前检验md5,分片上传前检验方面是否上传,以及文件上传后,三个方法里面有各自的ajax请求,现在的问题是三个钩子函数只会执行一次,但是里面的ajax请求会重复多次,这是什么原因呢
beforeSendFile: function(file) {
var parentid = sessionStorage.getItem('parentid');
chunks = Math.ceil(file.size/chunkSize);
var task = new WebUploader.Deferred();
fileName = file.name;
fileSize = file.size;
// fileSize = (file.size/1024/1024).toFixed(2);
(new WebUploader.Uploader()).md5File(file, 0, 10 * 1024 * 1024).progress(function(percentage) {}).then(function(val) {
fileMd5 = val;
var url = checkMd5;
var data = {
name: fileName,
mdValue: fileMd5,
size: fileSize,
parentId:parentid,
type:1
};
$.ajax({
type: "POST",
headers:{
'Authorization': sessionStorage.getItem('userToken')
},
url: url,
data: data,
beforeSend: function(request) {
request.setRequestHeader("Authorization", sessionStorage.getItem('userToken'));
},
cache: false,
async: false, // 同步
timeout: 5000, // todo 超时的话,只能认为该分片未上传过
dataType: "json",
error: function(XMLHttpRequest, textStatus, errorThrown) {
file.statusText = 'server_error';
task.reject();
}
}).then(function(data, textStatus, jqXHR) {
console.log(data);
// if(data.rtn == 0) {
if (data.data.result == "0"){ //文件在当前目录下存在不能上传
task.reject();
file.statusText ='file_existed';
that.getfilelist();
}
if (data.data.result == "1"){ //文件不存在,可以上传
task.resolve();
}
if(data.data.result == "2") { //文件已存在,可以秒传
task.reject();
uploader.skipFile(file);
}
});
});
return task.promise();
},

@SmallPudding0
Copy link

如何添加原生File对象,我想做个功能把上一次未上传完成的文件,这次登录之后自动添加到文件队列中,我知道有个addfile方法但是不知道如何传入一个原生的file对象。还有如何实现多个文件同时上传,这个好像只能单个文件上传,我使用了文件分片。

@samveduan
Copy link

在每一个文件上传前需要调用接口加密文件,然后才开始上传,请问这个操作用webuploader可以实现吗?在哪一步实现?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests