Scott HanselmanのブログにMVCファイルアップロードexampleを実装しようとしています。私はVB.NETにそれを変換しSystem.Web.HttpPostedFileBaseからSystem.Web.HttpPostedFileにどのようにキャストしますか?
foreach (string file in Request.Files)
{
HttpPostedFile hpf = Request.Files[file] as HttpPostedFile;
if (hpf.ContentLength == 0)
continue;
string savedFileName = Path.Combine(
AppDomain.CurrentDomain.BaseDirectory,
Path.GetFileName(hpf.FileName));
hpf.SaveAs(savedFileName);
}
:私は、この例のコードとのトラブルに遭遇した
For Each file As String In Request.Files
Dim hpf As HttpPostedFile = TryCast(Request.Files(file), HttpPostedFile)
If hpf.ContentLength = 0 Then
Continue For
End If
Dim savedFileName As String = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Path.GetFileName(hpf.FileName))
hpf.SaveAs(savedFileName)
Next
しかし、私は、コンパイラから無効なキャスト例外を取得しています:
Value of type 'System.Web.HttpPostedFileBase' cannot be converted to 'System.Web.HttpPostedFile'.
Hanselmanは2008年6月27日に彼の例を掲載しました。 MSDNには同様の例がありません。
これはうまくいった、ありがとう。 –
追加情報:あなたが私のようで、別のプロジェクトでこの関数を作成する場合は、HttpPostedFileBaseを参照するためにSystem.Web.Abstractions.dllファイルを含める必要があります。http://efreedom.com/Question/1-1911151/CSharp-Reference-HttpPostedFileBase –
@tvanfossonこの情報を探していますが、なぜHttpPostedFileではなくHttpPostedFileBaseですか?共有できるリンクがありますか? – codingbiz