Загрузка файла Jasny опубликован файл всегда null - PullRequest
0 голосов
/ 19 сентября 2019

Почему свойство PostedFile всегда равно null, даже если файл выбран?Загрузка файла, кажется, работает должным образом, поскольку позволяет мне выбрать файл.Но когда нажата кнопка отправки, которая создает экземпляр кода, в котором используется выбранный файл, свойство PostedFile имеет значение null.

Это мой код ascx:

<div id="fileUploadDiv" class="row">
    <div class="col-xs-12 push-left">
        <div class="row">
            <div class="col-xs-3 col-md-2 text-left form-group required label-wrapper">
                <asp:Label 
                    ID="Label1" 
                    runat="server" 
                    class="lblFileUpload" 
                    Text="File to upload:" 
                    CssClass="control-label" 
                    EnableViewState="false" />
            </div>
            <div class="col-xs-9 col-xs-10 text-left">
                <div class="fileinput fileinput-new input-group pull-left" data-provides="fileinput">
                    <div class="form-control" data-trigger="fileinput" style="max-width: 30em;"> 
                        <span class="fileinput-filename"></span>
                    </div>
                    <span class="btn btn-file">
                        <span class="fileinput-new">
                            <asp:Button 
                                ID="Button4" 
                                runat="server" 
                                CssClass="button pink inline-narrow pull-right" 
                                Text="Select File" />
                        </span>
                        <span class="fileinput-exists">
                            <asp:Button 
                                ID="Button5" 
                                runat="server" 
                                CssClass="button pink inline-narrow pull-right" 
                                Text="Change" />
                        </span>
                        <input 
                            id="inputUploadFile" 
                            runat="server" 
                            type="file" 
                            name="..." 
                            accept=".jpg, .jpeg, .png, .eps, .pdf, .ai"
                            enctype="multipart/form-data">
                    </span>
                    <a href="#" 
                        class="btn fileinput-exists" 
                        data-dismiss="fileinput">
                        <asp:Button 
                            ID="Button6" 
                            runat="server" 
                            CssClass="button pink inline-narrow pull-right" 
                            Text="Remove" />
                    </a>                             
                </div>                                            
            </div>
        </div>
    </div>
</div>

Это мой код c #:

protected void btnAddUpdate_Click(object sender, EventArgs e)
{    
  ...
        byte[] fileData = null;
        using (var binaryReader = new BinaryReader(inputUploadFile.PostedFile.InputStream)) //PostedFile is always null.
        {
            fileData = binaryReader.ReadBytes(inputUploadFile.PostedFile.ContentLength); //PostedFile is always null.
        }
}

1 Ответ

0 голосов
/ 19 сентября 2019

Я нашел проблему.Загрузка файла не работает асинхронно.Проблема была решена путем добавления следующих двух строк кода в метод OnInit:

    ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(this.btnSave);
    Page.Form.Attributes.Add("enctype", "multipart/form-data");

Где this.btnSave - кнопка отправки на странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...