1、你可以看下这篇文章,这篇文章中有关于检测文件类型的方法http://www.cnblogs.com/jueban/archive/2009/03/06/933121.html
具体的代码:
//真正判断文件类型的关键函数
public static bool IsAllowedExtension(FileUpload hifile)
{
System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.BinaryReader r = new System.IO.BinaryReader(fs);
string fileclass = "";
byte buffer;
try
{
buffer = r.ReadByte();
fileclass = buffer.ToString();
buffer = r.ReadByte();
fileclass += buffer.ToString();
}
catch
{
}
r.Close();
fs.Close();
if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
{
return true;
}
else
{
return false;
}
}
2、有关插入代码行数,可以看下这篇文章:http://www.blogjava.net/ycyk168/archive/2009/11/28/304043.html
这些插件不仅支持代码行数,还支持语法高亮。
你可以改造你的编辑器,将这些插件嵌入到你的编辑器中
第一个问题:这个问题好像是杀毒软件的事,让杀毒软件开启查杀jpg,gif等格式的文件,另外你可以做些基础的控制,比如上传图片的时候,你可以用代码把扩展名改为asp,aspx等格式,看看里面是否包含有特定语言的代码,不过如果混淆过的就难了。不过一般杀毒软件都有这个分析功能。
第二个问题:给对应的编辑器扩展代码插入组件就行了,现在回答博问就有这个功能,插入代码,显示行号等。
通过读文件头的方式判断文件实际格式就行了。