我在我的对象中创建了一个图像,所以我可以将它绘制到我的画布上......我这样做了:
item[id].img = new Image();
item[id].img.src = './image_folder/'+data[i][j].image;
然后我的画布画在这一行:
canvas[2].ctx.drawImage(item[theID].imge, px, py);
它工作正常,但在Chrome控制台中它说:
Resource interpreted as Image but transferred with MIME type text/html
我很好奇这实际意味着什么以及如何纠正它?
答案 0 :(得分:0)
当您从服务器请求内容时,他们会发送“标题”以及正在发送的内容。
浏览器可以了解如何使用视频或音乐,或知道如何使用JS或CSS。
现代浏览器在处理这些事情时非常聪明,但是如果你试图将.mp3发送到不知道如何使用.mp3s的浏览器,它可能会尝试将文件作为文本加载,你就可以了得到很多有趣的人物。
MIME类型可以避免这种情况。如果您要求下载.mp3,服务器可能会发送一个类似“Content-Type:audio / mpeg codecs = mp3”的标题。
相比之下,常规网页将作为“Content-Type:text / html”发送,而.png图像将作为“Content-Type:image / png”发送。
如果您在使用WAMP安装程序或EasyPHP或其他任何设备安装的测试服务器上玩游戏,您的服务器可能不知道使用“image / png”MIME提供.png
个文件型。
智能浏览器将读取文件的内容并尝试弄清楚它们应该是什么,如果文件的MIME类型错误(这就是为什么你的图像首先工作)
这个特殊的错误可能不会伤害任何人(因为无法弄清楚你有.png文件的浏览器可能是没有<canvas>
的浏览器。)
但是要在其他情况下修复它(例如.ogg
和<audio>
支持的<video>
文件,这很重要),你应该弄清楚你正在运行什么样的服务器(我的钱在Apache),并弄清楚如何添加mime类型和文件类型声明。
您可以通过Google搜索找到“将mime-types添加到apache”。
如果这是一台在互联网上存在的服务器,而您正在为托管付费,那么您需要通过托管网站进行设置。