相关疑难解决方法(0)

如何检测Safari,Chrome,IE,Firefox和Opera浏览器?

我有FF,Chrome,IE,Opera和Safari的5个插件/扩展.

如何识别用户浏览器并重定向(单击安装按钮后)以下载相应的插件?

javascript browser-detection

738
推荐指数
17
解决办法
78万
查看次数

safari中的文件输入大小问题,用于多个文件选择

我在Windows Vista上的Safari 5.1中遇到多个文件上传时遇到了不一致(没有尝试过其他平台).input元素具有multiple允许选择多个文件的标志.当用户确实选择多个文件时,会出现问题.在这种情况下,每个File都具有size属性0.如果(仍然带有multiple标志),用户只选择一个文件,则该size属性正确包含文件大小.

在以下示例中可以看到该问题.测试并查看单个文件选择和多个文件选择的输出.(您需要在测试之间重置). JsFiddle测试

有没有人知道一个解决方法?

javascript safari file-upload filesize fileapi

11
推荐指数
1
解决办法
7574
查看次数

除非Web检查器打开,否则多个文件上载在上面的Safari 6.1中不起作用

所以我有一个文件上传站点,我使用HTML5分块功能上传多个文件.它适用于Chrome,Firefox,IE(基本上具有HTML5功能的浏览器)以及Safari,但最近我测试了它,Safari 6.0.5工作正常,但在Safari 6.1上,如果我上传多个文件,一些文件是0字节.我不确定发生了什么.

当我测试时,我上传大约70个文件,总计200MB,每个文件介于5-8MBish ..所以没有发生分块..但是当我检查服务器时,大多数文件是0字节(就像它从未上传),除了一些文件(可能是3-5个文件)

使用Safari 6.1,Safari 6.0.5及以下版本之间有什么区别吗?

我的代码基本上是简单的:如果文件大于10MB /文件,Javascript会将每个文件分块,如果不是,它只会按原样上传.那么PHP将处理上传(标准文件上传样式move_uploaded_file()).

function uploadFile(file_blob_chunk, file_name, file_part, total_file_chunk, file_id) {
    //create a progress bar based on file id (check if it's the 0 part, otherwise there will be multiple bar for same file)
    if(file_part == 0) {
        progressBar(file_id);
    }

    //ajax call for creating multipart data form
    fd = new FormData();    
    fd.append("file_for_upload", file_blob_chunk);
    fd.append("file_id", file_id);
    fd.append("file_name", file_name);
    fd.append("file_part", file_part);

    xhr = new XMLHttpRequest();
    xhr.fid = file_id;
    xhr.fid_name = file_name;
    xhr.fid_part = file_part;
    xhr.fid_total_chunk = …
Run Code Online (Sandbox Code Playgroud)

javascript php safari html5 file-upload

7
推荐指数
1
解决办法
2655
查看次数