如何在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我的情况不是这样的。我在描述中提到了这一点。