5

サイトにファイルをアップロードするための次のコードがあります。

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

     @Microsoft.Web.Helpers.FileUpload.GetHtml(initialNumberOfFiles: 1, includeFormTag: false, uploadText: "Upload File",allowMoreFilesToBeAdded:false)
    <span class="success">@ViewData["SuccessMessage"]</span>
     <input class="button" type="submit" name="submit" value="Upload" />         

}

ユーザーが「参照」ボタンからファイルを選択した後、これを自動的に投稿できるようにしたい。現在、ユーザーはアップロードするファイルを選択するたびにアップロードをクリックする必要がありますが、このプロセスを自動化するにはどうすればよいですか?

4

4 に答える 4

3

ファイル アップロード コントロールはonchangeイベントをサポートします。アップロードのトリガーに使用できることを願っています

<form name="upload" action="uploadfile.aspx" method="POST">
    <input name="myfile" type="file" onchange="UploadFile()" />
</form>

<script>
   function UploadFile()
   {
      //do validation here
      document.forms['upload'].submit();
   }
</script>
于 2012-10-20T19:38:42.413 に答える
2

ASP:

<input type="file" onchange="this.form.submit();" name="fUpload"/>

分離コード:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        System.Web.HttpPostedFile file = Request.Files["fUpload"];
        if (file != null && file.ContentLength > 0)
        {
            file.SaveAs(@"C:\dir\"+System.IO.Path.GetFileName(file.FileName));
        }
    }

}

入力の代わりに asp:FileUpload:

ASP:

<asp:FileUpload runat="server" onchange="this.form.submit();" ID="fuFile"/>

コードビハインド:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        if (fuFile.PostedFile.FileName != string.Empty  && fuFile.PostedFile.ContentLength > 0)
        {
            fuFile.PostedFile.SaveAs(@"C:\dir\" + fuFile.FileName);
        }
    }

}
于 2012-10-22T12:34:13.493 に答える
0

FileUpload は、選択したファイルをサーバーに自動的にアップロードする機能をサポートしていません。何らかのメカニズムを提供する必要があります-MSDNを参照してください

アップロードされたファイルの保存

FileUpload コントロールは、ユーザーがアップロードするファイルを選択した後、ファイルをサーバーに自動的に保存しません。ユーザーが指定したファイルを送信できるようにするには、制御またはメカニズムを明示的に提供する必要があります。たとえば、ユーザーがファイルをアップロードするためにクリックするボタンを提供できます。指定したファイルを保存するために記述するコードは、ファイルの内容をサーバー上の指定したパスに保存する SaveAs メソッドを呼び出す必要があります。通常、SaveAs メソッドは、サーバーへのポストを発生させるイベントのイベント処理メソッドで呼び出されます。...

于 2012-10-20T19:28:43.400 に答える
0

私は Microsoft.web ライブラリを使用していませんが、ファイルがアップロードされた後に自動的に Java スクリプト関数を呼び出すことができれば、それを達成することもできます。

この行で JavaScript 関数を呼び出すことができる場合:

@Microsoft.Web.Helpers.FileUpload.GetHtml(initialNumberOfFiles: 1, includeFormTag: false, uploadText: "Upload File",allowMoreFilesToBeAdded:false)
于 2012-10-20T19:58:33.770 に答える