![](/img/trans.png)
[英]regex: Matching a javascript mime type in content-type http header
[英]How to get HTTP header (Content-Type) from URL with Javascript
下午好! 這是我想要達到的目標。
我有一個輸入,允許用戶輸入URL(主要用於圖像),但它也可以是其他類型的文件。 我正在尋找一種方法來驗證url是否存在並獲取mime類型。
這是我的JavaScript測試的jsfiddle 。
我找到了使用PHP和AJAX以及類似功能的方法:
PHP:
function get_url_content_type( $url ) {
$header = get_headers( $url, 1 );
if ( isset( $header['Content-Type'] ) ) {
return $header['Content-Type'];
}
}
我不確定這是正確的方法,有人有更好的主意嗎?
非常感謝!
如果您未在$.ajax()
調用中指定type
,則jQuery已經根據內容類型轉換了響應(請檢查此URL以獲取詳細信息)。
因此,您所要做的就是檢查生成的響應的類型,以推斷出已發送的Content-Type:
$.get("myPage.html", { }, function(data) {
if(typeof(data) === "string") {
//html
} else {
//JSON
}
});
在這種情況下,它將無法正常工作,因為Google在其托管圖片上明確禁用了跨域請求。 如果您在啟用Firebug的情況下運行測試,則會收到以下消息:
跨域請求被阻止:“同源起源”策略禁止讀取https://www.google.com/images/srpr/logo11w.png上的遠程資源。 可以通過將資源移到同一域或啟用CORS來解決此問題。
但是,啟用CORS需要在服務器端進行一些我不認為Google願意做的工作。
編輯:
如果要生成某些文件的客戶端預覽,請嘗試使用以下方法:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.