Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304416
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站导航为爱好css的朋友们提供相关的知识。

Resumable hTML5 File API 的文件上传mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

Resumable.js 是一个 JavaScript 库,通过 hTML5 文件 API 提供,稳定和可恢复的批量上传功能。在上传大文件的时候通过每个文件分割成小块,每块在上传失败的时候,上传会不断重试直到程序完成。这允许上传到本地或服务器的网络连接丢失后能够自动恢复上传。mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

  • 此篇文章具体介绍如下

在hTML 5中,现在可以在客户端进行文件上传时的校验了,比如用户选择文件后,可以马上校验文件的大小和属性等,这其实时得益于浏览器端新增的对文件的校验能力,其中支持hTML 5的浏览器,都会实现W3C实现的文件API标准,其中可以读取客户端文件的各种信息和参数。 mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

下面的例子如下,首先是hTML mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<input type="file" data-file_type="zip|png" data-max_size="1000000">

这里data-file_type属性中,指定了文件的类型,接受ZIP,PNG文件,用|分隔开来,其中data-max-size指定文件的大小,这里是1MB。然后使用jquery 进行判断 mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

$('input[type=file]').each(function()  
{  
    if(typeof $(this).attr('data-file_type') == 'string')  
    {  
        var file_types = $(this).attr('data-file_type').split('|');  
    }  
        
    var mimes = get_mimes(file_types);  
  
         //文件要求的指定大小  
    var max_size = parseInt($(this).attr('data-max_size'));  
  
    $(this).change(function(evt)  
    {  
        var finput = $(this);  
  
        var files = evt.target.files; // 获得文件对象  
  
                var output = [];  
  
        for (var i = 0, f; f = files[i]; i  )  
        {  
            //检查文件的类型是否符合指定要求  
            if(jQuery.inArray(f.type , mimes) == -1)  
            {  
                alert('File type '  f.type   ' not allowed');  
                $(this).val('');  
                continue;  
            }  
  
            //检查文件大小  
            else if(f.size > max_size)  
            {  
                alert('Maximum file size is '   max_size   ' bytes.');  
                $(this).val('');  
            }  
  
            //Validation ok  
            else  
            {  
                output.push('[b]', f.name, '[/b] (', f.type || 'n/a', ') - ', f.size, ' bytes, last modified: ', f.lastModifiedDate.toLocaleDateString() );  
            }  
        }  
  
        finput.after('<div>'   output.join('')   '</div>');  
    });  
});  

在上面的代码中, var mimes = get_mimes(file_types); 其实是一个方法,如下: mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

/* 
    Get the mimes of a list of extensions as an array 
*/  
function get_mimes(extensions)  
{  
    var mimes = [];  
    for(var i in extensions)  
    {  
        var ext = extensions[i];  
  
        if(ext in mime_types)  
        {  
            var mime = mime_types[ext];  
  
            if($.isArray(mime))  
            {  
                jQuery.merge(mimes , mime);  
            }  
            else  
            {  
                mimes.push(mime);  
            }  
        }  
    }  
  
    return mimes;  
}  

这里其实就是将ZIP,PNG这样的类型传入,然后返回一个这类文件对应的MIME/TYPE,比如定义一个 mime_types数组,如下:mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

var mime_types = {  
"gif":"image\/gif", 
"jpeg":["image\/jpeg","image\/pjpeg"], 
"jpg":["image\/jpeg","image\/pjpeg"], 
"jpe":["image\/jpeg","image\/pjpeg"], 
"png":["image\/png","image\/x-png"], 
.................. 
} 

重点关注的是hTML 5中,新的文件API,可以在客户端马上判断文件类型,如下: mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

var files = evt.target.files; // 获得文件对象,是一个集合,可以有多个文件 
var file_count = files.length;  //文件长度 

var file_1 = files[0]; // or files.item(0);这里获得多个文件中的第一个文件 

var name = file_1.name; //获得文件名 
var size = file_1.size;//获得文件大小 
var type = file_1.type; //文件类型 
var lastModifiedDate = file_1.lastModifiedDate;  //文件修改时间 

详细的关于hTML 5文件上传的,见: http://www.w3.org/TR/file-upload/mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

html5解决大文件断点续传/上传的方法mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

 一般常用的web服务器都有对向服务器端提交数据有大小限制。超过一定大小文件服务器端将返回拒绝信息。当然,web服务器都提供了配置文件可能修改限制的大小。针对iis实现大文件的上传网上也有一些通过修改web服务器限制文件大小来实现。不过这样对web服务器的安全带了问题。攻击者很容易发一个大数据包,将你的web服务器直接给拖死。 现在针对大文件上传主流的实现方式,通过将大文件分块。比如针对一个100M文件,按2M拆分为50块。然后再将每块文件依次上传到服务器上,上传完成后再在服务器上合并文件。 在web实现大文件上传,核心主要实现文件的分块。在html5 File API 出现以前,要想在web上实现文件分块传输。只有通过flash或Activex实现文件的分块。 mbIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

关于css的相关的知识就说到这里希望能够可以帮助更多的朋友们。,html,上传,文件,大小

分享到:

  admin

注册时间:

网站:0 个   APP:3 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304416

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市