Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中从url检索图像名称?_Javascript_Reactjs - Fatal编程技术网

如何在javascript中从url检索图像名称?

如何在javascript中从url检索图像名称?,javascript,reactjs,Javascript,Reactjs,就我而言,它不像SomeDomain/test.com/car.jpeg那样直截了当 但它是一个基于令牌的图像,如: SomeDomain/upload/document/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh?subscription-key=f2721f4fa0a2f 我可以在浏览器中检索这个。我甚至可以在浏览器选项卡上看到图像

就我而言,它不像
SomeDomain/test.com/car.jpeg那样直截了当
但它是一个基于令牌的图像,如:

SomeDomain/upload/document/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh?subscription-key=f2721f4fa0a2f

我可以在浏览器中检索这个。我甚至可以在浏览器选项卡上看到图像的名称。

如果您试图获取实际的url,只需使用以下命令:

let url = window.location.href; 
/* 
>> "http://somedomain/upload/document/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh?subscription-key=f2721f4fa0a2f"
*/
let path = window.location.pathname; 
/*
>> "/upload/document/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh"
*/
let path = window.location.pathname;
let nameAfterLastSlash = path.substring(path.lastIndexOf('/'), path.length);
/*
>> "/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh"
/*

如果要获取路径,请使用以下命令:

let url = window.location.href; 
/* 
>> "http://somedomain/upload/document/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh?subscription-key=f2721f4fa0a2f"
*/
let path = window.location.pathname; 
/*
>> "/upload/document/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh"
*/
let path = window.location.pathname;
let nameAfterLastSlash = path.substring(path.lastIndexOf('/'), path.length);
/*
>> "/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh"
/*
如果您想在最后一个斜杠后获得名称,请使用以下命令:

let url = window.location.href; 
/* 
>> "http://somedomain/upload/document/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh?subscription-key=f2721f4fa0a2f"
*/
let path = window.location.pathname; 
/*
>> "/upload/document/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh"
*/
let path = window.location.pathname;
let nameAfterLastSlash = path.substring(path.lastIndexOf('/'), path.length);
/*
>> "/ciOiJIUzUxMiJ9.eyJmaWxlX2lkiZXhwIjoxNjEwNjQ4MDY2fQ.e4doztYLOl6FTafUc7bJXrzwb-4FgaXTkJkk8S9GC4gsZhMVRh"
/*

我刚刚得到了这个解决方案,它正在工作。正如@kyle建议的那样

getFileName(filePath) {
    let fileName = null;
    const xhr = new XMLHttpRequest();
    xhr.open("GET", filePath, false);
    xhr.send();
    if (xhr.status==200) {
      const contentDisposition = xhr.getResponseHeader('Content-Disposition');
      fileName = contentDisposition.split(';')[1].split('filename')[1].split('=')[1].split('.')[0].trim();
    }
    return fileName;
  }

我猜映射到图像-要获得名称,您可能需要对该端点进行一个小小的ajax调用,并查看返回的数据-我非常确定您自己无法从URL字符串中获得任何有用的内容。在该示例中,哪一个是图像名称?谢谢@Kyle,是的,我找到了相同的解决方案并实施了。现在可以工作了。@O.O没有明确提到。不@e2017我的情况不是这样的。我在描述中提到了这一点。