2015-04-16 80 views
0

早上好,另存爲更改輸入文件

我有一個名爲UploadIMG.aspx的文件,其中包含一些代碼html和UploadIMG.aspx.vb,這一個爲空。

的HTML如下:

<div class="wrapper"> 
    <h3>Click to add</h3> 
</div> 

我的jQuery的是這樣的:

$("h3").click(function() { 
$(".wrapper").append("\ 
    <img id='uploadPreview1' width='200' height='100' /> \ 
    <input id='MyFile' class='inputImage' type='file' onchange='UploadImage();'/>"); 
}); 

我做了一個小提琴:https://jsfiddle.net/bd4j9v4r/

我想將圖片上傳到我的服務器每當他們改變它的輸入,但沒有按任何按鈕。

我試着用SaveAs保存它,但是我不知道如何將它應用到onchange。

<script runat="server"> 
Sub UploadButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
    If (MyFile.HasFile) Then 
     Dim fileName As String = MyFile.FileName 
     MyFile.PostedFile.SaveAs(Server.MapPath("~/img/") & MyFile.FileName) 
    Else 
    End If 
End Sub 
</script> 

任何人都可以幫助我嗎?由於

回答

1

,你可以利用這個變化:

$(document).on('change', '.inputImage', function(){ 
    console.log(this.value); 
    // now here you can upload this file. 
}); 

,如果你是使用Ajax感興趣的文件上傳我愛:

$(document).on('change', '.inputImage', function(){ 
    console.log(this.value); 
    var formData = new FormData(); 
    $.ajax({ 
     url:'', // place your controller's method 
     type:'post', 
     dataType:'', // text, json etc 
     contentType:false, 
     processData:false, 
     success:function(data){}, 
     error:function(err){} 
    }); 
}); 
+0

爲了獲得更好的性能,您可以將事件委託給你的包裝元素(這始終存在)而不是文檔。 – wintercounter

+0

因此,如果我想使用ajax,我必須將我的上傳功能放在aspx.vb上,並將它作爲dataType參數進行調用。 –

+0

@wintercounter同意。 – Jai