我允许我的用户上传mp3文件,这样我就可以阅读元数据并提取歌曲名称和歌手名称。
目前我正在上传文件并使用getId来阅读元数据。上传当然会占用大量资源和带宽。上传mp3似乎有点浪费,因为我需要的只是2条信息,我甚至不会对文件本身做任何事情。所以我之后删除它。
是否可以在客户端获取这两条信息而无需将文件复制到我的服务器?
答案 0 :(得分:4)
您只能在实现FileReader界面的HTML5兼容浏览器中执行此操作(Firefox,Chrome,IE10,Safari 5.1+,不确定Opera)。
您基本上使用FileReader将文件内容放入内存,然后手动扫描(在客户端javascript中)找到您想要的MP3标签。
答案 1 :(得分:0)
您只能从客户端文件中获取信息,方法是上传并在服务器上处理(您不想这样做),或者分发将在客户端处理文件的客户端。只上传相关信息。选项2要求您开发(或共同选择)客户端应用程序并进行分发。
答案 2 :(得分:0)
您喜欢这样:工作演示 http://jsfiddle.net/9pfLJ/
良好的链接:http://jquerybyexample.blogspot.com/2012/03/how-to-check-file-size-before-uploading.html
http://www.aibn.com/help/Learn/mimetypes.html
希望它有助于你的事业:)
,休息随意玩这个演示。
P.S。 - 在演示中它也会提醒文件名。
<强>码强>
$(document).ready(function() {
$("#flUpload").change(function ()
{
var iSize = ($("#flUpload")[0].files[0].size / 1024);
alert("Name of file ===> " + $("#flUpload")[0].files[0].name);
if (iSize / 1024 > 1)
{
if (((iSize / 1024) / 1024) > 1)
{
iSize = (Math.round(((iSize / 1024) / 1024) * 100) / 100);
$("#lblSize").html( iSize + "Gb");
}
else
{
iSize = (Math.round((iSize / 1024) * 100) / 100)
$("#lblSize").html( iSize + "Mb");
}
}
else
{
iSize = (Math.round(iSize * 100) / 100)
$("#lblSize").html( iSize + "kb");
}
});
});