mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
for #293, refine the mime of content type.
This commit is contained in:
parent
3b853a6dbd
commit
d546827b1c
1 changed files with 40 additions and 20 deletions
|
@ -341,26 +341,46 @@ int SrsGoHttpFileServer::serve_file(ISrsGoHttpResponseWriter* w, SrsHttpMessage*
|
|||
|
||||
w->header()->set_content_length(length);
|
||||
|
||||
if (srs_string_ends_with(fullpath, ".ts")) {
|
||||
w->header()->set_content_type("video/MP2T");
|
||||
} else if (srs_string_ends_with(fullpath, ".m3u8")) {
|
||||
w->header()->set_content_type("application/x-mpegURL;charset=utf-8");
|
||||
} else if (srs_string_ends_with(fullpath, ".flv")) {
|
||||
w->header()->set_content_type("video/x-flv");
|
||||
} else if (srs_string_ends_with(fullpath, ".xml")) {
|
||||
w->header()->set_content_type("text/xml;charset=utf-8");
|
||||
} else if (srs_string_ends_with(fullpath, ".js")) {
|
||||
w->header()->set_content_type("text/javascript");
|
||||
} else if (srs_string_ends_with(fullpath, ".json")) {
|
||||
w->header()->set_content_type("application/json;charset=utf-8");
|
||||
} else if (srs_string_ends_with(fullpath, ".swf")) {
|
||||
w->header()->set_content_type("application/x-shockwave-flash");
|
||||
} else if (srs_string_ends_with(fullpath, ".css")) {
|
||||
w->header()->set_content_type("text/css;charset=utf-8");
|
||||
} else if (srs_string_ends_with(fullpath, ".ico")) {
|
||||
w->header()->set_content_type("image/x-icon");
|
||||
} else {
|
||||
static std::map<std::string, std::string> _mime;
|
||||
if (_mime.empty()) {
|
||||
_mime[".ts"] = "video/MP2T";
|
||||
_mime[".flv"] = "video/x-flv";
|
||||
_mime[".m4v"] = "video/x-m4v";
|
||||
_mime[".3gpp"] = "video/3gpp";
|
||||
_mime[".3gp"] = "video/3gpp";
|
||||
_mime[".mp4"] = "video/mp4";
|
||||
_mime[".mp3"] = "audio/mpeg";
|
||||
_mime[".m4a"] = "audio/x-m4a";
|
||||
_mime[".ogg"] = "audio/ogg";
|
||||
_mime[".m3u8"] = "application/x-mpegURL;charset=utf-8";
|
||||
_mime[".rss"] = "application/rss+xml";
|
||||
_mime[".json"] = "application/json;charset=utf-8";
|
||||
_mime[".swf"] = "application/x-shockwave-flash";
|
||||
_mime[".doc"] = "application/msword";
|
||||
_mime[".zip"] = "application/zip";
|
||||
_mime[".rar"] = "application/x-rar-compressed";
|
||||
_mime[".xml"] = "text/xml;charset=utf-8";
|
||||
_mime[".js"] = "text/javascript";
|
||||
_mime[".css"] = "text/css;charset=utf-8";
|
||||
_mime[".ico"] = "image/x-icon";
|
||||
_mime[".png"] = "image/png";
|
||||
_mime[".jpeg"] = "image/jpeg";
|
||||
_mime[".jpg"] = "image/jpeg";
|
||||
_mime[".gif"] = "image/gif";
|
||||
}
|
||||
|
||||
if (true) {
|
||||
ssize_t pos;
|
||||
std::string ext = fullpath;
|
||||
if ((pos = ext.rfind(".")) != string::npos) {
|
||||
ext = ext.substr(pos);
|
||||
}
|
||||
|
||||
if (_mime.find(ext) == _mime.end()) {
|
||||
w->header()->set_content_type("text/html;charset=utf-8");
|
||||
} else {
|
||||
w->header()->set_content_type(_mime[ext]);
|
||||
}
|
||||
}
|
||||
|
||||
// write body.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue