我使用此代碼用於檢查內容類型內容類型/應用文本:如何檢查在c#
串檔案大小= FileUpload1.PostedFile.ContentType;
但如果我保存在.txt格式的其他文件的手段,它將被允許。
如何將檢查在C#
我使用此代碼用於檢查內容類型內容類型/應用文本:如何檢查在c#
串檔案大小= FileUpload1.PostedFile.ContentType;
但如果我保存在.txt格式的其他文件的手段,它將被允許。
如何將檢查在C#
的原單文本文件或不是如果我理解你的問題propelry,你正在尋找驗證發佈的文件類型。如果是這樣,那麼你可以檢查文件擴展名。
if(FileUpload1.PostedFile.FileName.ToLowerInvariant().EndsWith(".txt"))
{
// Do stuffs
}
更新徵求意見:如果文件發生了故障,那麼您可以使用下面的方法來驗證它是否是一個二進制文件;如果沒有,你可以把它當作文本文件。那麼,爲了使用這種方法,您需要暫時保存文件,或者需要更改方法,以便它可以直接從流中讀取。
注意:這種方法不會給你100%的準確結果。但是,你可以預期70-80%。這是此代碼的source link。
private bool IsBinaryFile(string filePath, int sampleSize = 10240)
{
if (!File.Exists(filePath))
throw new ArgumentException("File path is not valid", filePath);
var buffer = new char[sampleSize];
string sampleContent;
using (var sr = new StreamReader(filePath))
{
int length = sr.Read(buffer, 0, sampleSize);
sampleContent = new string(buffer, 0, length);
}
//Look for 4 consecutive binary zeroes
if (sampleContent.Contains("\0\0\0\0"))
return true;
return false;
}
雅我也檢查了文件擴展名,但我需要檢查文件內容類型是文本還是不.. bcoz假設我改變了其他文件並保存.txt格式知道..那就是爲什麼我需要檢查內容 – Ramesh 2012-08-17 07:02:32
在這種情況下,是你正在尋找文件中的任何特定文本? – NaveenBhat 2012-08-17 07:15:22
是我只上傳了txt格式的文件,只能假設有人編輯另一個文件並保存爲.txt文件知道那個時候我需要給出錯誤信息。 – Ramesh 2012-08-17 07:22:24
試試這個(從similar question得到它):
string contentType = FileUpload1.PostedFile.ContentType
請改寫你的問題,它是沒有意義的,我不能說問題出在哪裏。 – 2012-08-17 06:58:34