我正在編寫一個管理員表單。用戶可以或不可以更新PDF文件;如果他不,我處理它在我的形式編碼如下:如何處理DALC中的非必需文件上傳字段?
string fileExt = System.IO.Path.GetExtension(regFormUpload.FileName);
if (regFormUpload.HasFile)
{
if (string.Equals(fileExt, ".pdf", StringComparison.OrdinalIgnoreCase))
{
Stream pdfFileStream = regFormUpload.PostedFile.InputStream;
fileData = new byte[regFormUpload.PostedFile.ContentLength];
pdfFileStream.Read(fileData, 0, regFormUpload.PostedFile.ContentLength);
// Call DALC method with uploaded file(s) params
}
else
{
regFormCustVal.IsValid = false;
}
}
else
{
// Call DALC method indicating "null" for non-uploaded files(s)???
}
有沒有辦法通過一個空的DALC /存儲過程?它作爲varbinary(max)類型存儲在SQL Server中。以前,我曾經根據是否有人上傳文件來編寫單獨的方法,我知道必須有更簡單的方法,但C#語法正在逃避我。
更新 - 2012年5月24日
我還沒有得到一個答案。在我的DALC中,我現在必須調用幾個數據庫更新方法,具體取決於文件(byte [])是否已上傳。無論如何要解決這個問題嗎?我有兩個單獨的文件上傳控件,都是非必填字段。這意味着我必須編碼四個單獨的數據庫更新方法來解決(2^2)的可能性!
你說的「可空字節數組」是什麼意思? – BrokenGlass 2012-03-24 17:47:33
+1更新問題:) – IrishChieftain 2012-03-24 18:14:15
如果擴展名爲「.PDF」,該怎麼辦? – usr 2012-03-24 18:43:41