2012-10-20 15 views
5

Mam następujący kod do przesyłania pliku na moim miejscu:Jak automatycznie przesłać plik po pliku została wybrana

@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" />   

} 

chcę tego, aby móc automatycznie zakładać, gdy użytkownik wybierze plik z przycisk "przeglądaj". Obecnie użytkownik musi kliknąć przycisk przesyłania za każdym razem, gdy użytkownik wybierze plik do przesłania, w każdym razie, aby ten proces był automatyczny?

Odpowiedz

0

FileUploadnie obsługuje żadnego rodzaju automatycznego wysyłania wybranego pliku na serwer. Będziesz musiał dostarczyć jakiegoś mechanizmu - patrz MSDN

Zapisywanie Plików

Kontrola FileUpload nie automatycznie zapisać plik z serwerem gdy użytkownik wybierze plik przesłać. Musisz jawnie zapewnić kontrolę lub mechanizm, który pozwoli użytkownikowi przesłać określony plik . Na przykład możesz podać przycisk, który użytkownik kliknie, aby przesłać plik. Kod, który zapisujesz, aby zapisać określony plik, powinien wywołać metodę SaveAs, która zapisuje zawartość pliku w określonej ścieżce na serwerze. Zwykle metoda SaveAs jest wywoływana w metodzie obsługi zdarzeń dla zdarzenia, które podnosi jeden z powrotem do serwera. ...

3

Kontrola przesyłanie plików obsługuje onchange wydarzenie. Nadzieję, że może być używany do wyzwalania przesyłania

<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> 
0

Nie używać biblioteki Microsoft.web ale jeśli można wywołać funkcję skryptu Java automatycznie po pliku uploded następnie można również acheive że.

Jeśli można nazwać javascript founction w tej linii:

@Microsoft.Web.Helpers.FileUpload.GetHtml(initialNumberOfFiles: 1, includeFormTag: false, uploadText: "Upload File",allowMoreFilesToBeAdded:false) 
2

asp:

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

kodzie:

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 zamiast wprowadzania:

ASP:

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

kodzie:

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); 
     } 
    } 

} 
+0

Ta odpowiedź jest wielki, ale jeśli zrobiłem przycisk nie widoczny lub wyłączony, włączyć ją ponownie go (za pośrednictwem wyboru lub ładowania strony) będzie powodować nullRefrenceException był nieobsługiwany przez błąd kodu użytkownika. –

Powiązane problemy