ome*_*ega 0 javascript url jquery file path
在javascript/jquery中,给定一个url字符串,如何检查它是文件或目录的URL?
谢谢
你不能,因为HTTP没有区别.
URL既不是"文件"也不是"目录".这是一种资源.在请求该资源时,服务器会响应响应.该响应由标题和内容组成.
标题(例如content-disposition)可以指示响应应该被消费客户端视为文件.但就其本身而言,它不是"文件",因为HTTP不是文件系统.
任何资源都可以返回服务器想要的任何响应.例如,您可能会请求http://www.something.com并期望不获取文件,因为您没有要求提供文件.但它仍然可以返回一个.或者,即使您要求index.html您可能也不会获得名为"index.html"的"文件",而是获得其他一些响应.
即使您从您的角度要求"目录",服务器仍然使用标题和内容进行响应.该内容可以采用目录列表的形式,但除了解析内容本身之外,它与任何其他成功响应无法区分.
如果您正在寻找服务器指示的内容是"文件",那么您正在查找content-disposition响应中的标头,并且您将要解析该标头的值.除了那个案例之外,我怀疑无论你需要知道它是"文件"还是"目录"都是你想要做的任何设计问题的症状,因为问题本身没有实际意义.在HTTP中.
像大卫说的那样,你无法说出来.但是如果你想知道网址的最后一部分是否有'.' 在它(也许这就是你的"文件"的意思?),这可能有效:
function isFile(pathname) {
return pathname.split('/').pop().indexOf('.') > -1;
}
function isDir(pathname) { return !isFile(pathname); }
console.log(isFile(document.location.pathname));
Run Code Online (Sandbox Code Playgroud)