none
请问在ASP.NET中怎样判断上传的文件的真实类型? RRS feed

  • 问题

  • 请问在ASP.NET中怎样判断上传的文件的真实类型?

    有时候,用户把如文件名“周杰伦 - 超人不会飞.mp3”改为了“周杰伦 - 超人不会飞.rar”。

    问题:我只让用户上传“.mp3”格式的文件,如何判断呢?请教大侠们

    2010年5月10日 9:50

答案

  • 你好,你这样只是简单判断扩展名,如果需要从文件内部判断的话,你可以把读取文件的二进制码,文件头部的二进制有特征码。
    邹俊才
    • 已标记为答案 绿满家 2010年5月14日 4:24
    2010年5月11日 16:22
    版主

全部回复

  • M1. 可以设置只能浏览的file type为mp3。

    M2. 通过后缀名,去进行判断是否为mp3。


    别人笑我忒疯癫,我笑别人看不穿; 不见五陵豪杰墓,无花无酒锄作田。
    2010年5月10日 15:19
  • 你好,一般采用读取文件的特征码,不同的文件头部都有不同相对固定的定义,也叫文件头。
    邹俊才
    2010年5月10日 15:54
    版主
  • 我的做法是:

     

    string imageSuffix = this.fuImage.PostedFile.ContentType;//判断文件的类型
    
          if (!imageSuffix.Equals("image/pjpeg") && !imageSuffix.Equals("image/x-png") && !imageSuffix.Equals("image/gif") && !imageSuffix.Equals("image/bmp"))
          {
    		ShowMessage("您上传的文件不是标准的图片文件,格式必须是jpg、png、gif、bmp中");
            return;
          }
    但有时候不准确!请教
    2010年5月11日 9:19
  • 你好,你这样只是简单判断扩展名,如果需要从文件内部判断的话,你可以把读取文件的二进制码,文件头部的二进制有特征码。
    邹俊才
    • 已标记为答案 绿满家 2010年5月14日 4:24
    2010年5月11日 16:22
    版主