ユーザーが別々の input type="file" フィールドに投稿する可能性のあるファイルを分離するのに問題があります。私が試してみました:
var UploadedPicture = Request.Files[0];
if(Path.GetFileName(UploadedPicture.FileName) != String.Empty)
{
var ContentType = UploadedPicture.ContentType;
var ContentLength = UploadedPicture.ContentLength;
var InputStream = UploadedPicture.InputStream;
Session["gMugshot"] = new byte[ContentLength];
InputStream.Read((byte[])Session["gMugshot"], 0, ContentLength);
}
else
{
Session["gMugshot"] = new byte[0];
}
しかし、それは1つのファイルしか取得しません。私が試してみました
foreach (HttpPostedFile postedFile in Request.Files)
{
int contentLength = postedFile.ContentLength;
string contentType = postedFile.ContentType;
string fileName = postedFile.FileName;
postedFile.SaveAs(@"c:\test\file" + index + ".tmp");
}
}
しかし、それはそれらを分離しません(また、ファイルを保存したくありません。データベースに保存したいだけですが、その部分は問題ありません)。それぞれ別々のデータベース フィールドに入る必要があります。単一の画像でこれを機能させることができますが、複数の画像で機能する方法がわかりません。可能であれば、ヘルパーinput type="file"
ではなくフィールドで作業したいと考えています。FileUpload.GetHtml(initialNumberOfFiles:1, allowMoreFilesToBeAdded:false, includeFormTag:false)
入力要素のIDで取得することはできますか?