zoukankan      html  css  js  c++  java
  • js获取文件路径和后缀名

       今天需要获取文件的后缀,做文件上传的格式判断,在网上查了些相关资料,记录下来:

    JS获取file上传文件路径,后缀,大小,文件名

    /**
    *函数描述:获取input type=file的图像全路径
    * @obj input type=file的对象
    **/
    function getFullPath(obj)
    {
    if(obj)
    {
    //ie
    if (window.navigator.userAgent.indexOf("MSIE")>=1)
    {
    obj.select();
    return document.selection.createRange().text;
    }
    //firefox
    else if(window.navigator.userAgent.indexOf("Firefox")>=1)
    {
    if(obj.files)
    {
    return obj.files.item(0).getAsDataURL();
    }
    return obj.value;
    }
    return obj.value;
    }
    }

    <input type="file" onchange="document.getElementById('img').src=getFullPath(this);" >

    #判断IE还是Firefox

    function getFullPath(obj)

    {

    if(obj)

    {

    //ie

    if (window.navigator.userAgent.indexOf("MSIE")>=1)

    {

    obj.select();

    return document.selection.createRange().text;

    }

    //firefox

    else if(window.navigator.userAgent.indexOf("Firefox")>=1)

    {

    if(obj.files)

    {

    return obj.files.item(0).getAsDataURL();

    }

    return obj.value;

    }

    return obj.value;

    }

    }

    #判断后缀名

    function yulan(){

    var filePath =getFullPath(document.getElementById('UpFile'));

    var fileText =filePath.substring(filePath.lastIndexOf("."),filePath.length);

    var fileName =fileText.toLowerCase();

    if ((fileName!='.jpg')&&(fileName!='.gif')&&(fileName!='.jpeg')&&(fileName!='.png')&&(fileName!='.bmp'))

    {

    alert("对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !");

    document.form1.UpFile.focus();

    }

    else

    {

    document.getElementById("preview").innerHTML="<img src='"+getFullPath(document.getElementById('UpFile'))+"' width=120 style='border:6px double #ccc'>";

    }

    }

    #判断文件大小

    var Sys = {};

    if(navigator.userAgent.indexOf("MSIE")>0) {

    Sys.ie=true;

    }

    if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){

    Sys.firefox=true;

    }

    var maxLength = 5*1024*1024;

    function checkFileChange(obj) {

    var filesize = 0;

    if(Sys.firefox){

    filesize = obj.files[0].fileSize;

    }else if(Sys.ie){

    var filePath = obj.value;

    var image=new Image();

    image.src=filePath;

    filesize=image.fileSize;

    }

    alert(filesize);

    }

    获取文件名

    firefox的input表单的value值默认就可以获取到文件名,而ie 则显示文件路径。

    所以要区别对待,在firefox下 lastIndexOf('/')得到的是-1,而在ie下,目录显示的又是反斜杠,,当然在Linux
    下,其他浏览器获取到的又是正斜杠 / ;

  • 相关阅读:
    Python数据分析与爬虫
    Python例题集
    Python知识点复习
    Python内置函数---ord()
    关于Xpath
    初学爬虫(3)
    python操作csv文件
    初学爬虫(二)
    网络爬虫引发的问题及robots协议
    初学爬虫(一)
  • 原文地址:https://www.cnblogs.com/huizi/p/3259838.html
Copyright © 2011-2022 走看看