0

私はmvc 4を使用しています

私はこのモデルを持っています:ViewModelOne

public HttpPostedFileBase passportImage { get; set; }

また、私はこのモデルを持っています:modelViewTWO

public byte[] passportImage { get; set; }

このViewウィッチにViewModelOneをモデルとして使用させます

@Html.TextBoxFor(model => model.passportImage, new { placeholder = "Uploadt Your Passport", type = "file"})

私はこのコントローラーを持っています:

public string Register(ViewModelOne newT) {
modelViewTWO second = new modelViewTWO();
byte[] data;
            using (Stream inputStream = newT.passportImage.InputStream)
            {
                MemoryStream memoryStream = inputStream as MemoryStream;
                if (memoryStream == null)
                {
                    memoryStream = new MemoryStream();
                    inputStream.CopyTo(memoryStream);
                }
                data = memoryStream.ToArray();
            }
            second.passportImage = data;
}

私はこの例外を得ました

オブジェクト参照がオブジェクト インスタンスに設定されていません。

この行で

newT.passportImage.InputStream

編集

newT.passportImage とそれが null であることを確認します。なぜ?

4

1 に答える 1

1

enctypeデータも投稿されるように、フォームタグに属性を追加する必要があります。

@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" })) {

(最初の 2 つのパラメーターを に設定するnullと、フォームがオンになっている同じアクションとコントローラーがポストされます。

于 2013-10-28T21:59:47.957 に答える