我正在使用“文件上传”控件和 C# 编码(后端)在我的 Web 应用程序中上传文件(.jpeg/.png/.pdf)。 通过该控件上传的文件应保存在服务器中。 一切工作正常,但我面临的问题是,当保存 xlsx 或 doc 文件类型并且该文件的扩展名更改为 .png 或 .jpeg 并正在上传时,它正在上传到服务器而没有任何错误.
当我尝试在服务器中打开该图像或 pdf 文件时,它通常显示错误消息“文件无法打开”。
我已经完成了扩展验证,但在这种情况下它没有显示任何效果。
谁能帮我解决这个问题。(C# 编码或 Jquery 或 javascript 都可以)
最佳答案
以下是如何根据我需要使用“ header 代码”最终获得验证:
System.IO.BinaryReader r = new System.IO.BinaryReader(FileUpload1.PostedFile.InputStream);
string fileclass = "";
byte buffer;
try
{
buffer = r.ReadByte();
fileclass = buffer.ToString();
buffer = r.ReadByte();
fileclass += buffer.ToString();
}
catch
{
}
r.Close();
if (fileclass != "3780" || fileclass != "255216" || fileclass != "13780") /*Header codes (3780-PDF);(255216-JPG,JPEG);(13780-PNG)*/
{
/*Your code goes here(things to do with the file uploaded)*/
}
要获取其他文件格式的值,请尝试上传文件并设置断点并获取 header 代码。
关于javascript - 关于文件上传的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38783078/