2014-04-02 78 views
0

我上傳圖像到imgur.com使用API​​上的按鈕點擊,但我想避免頁面刷新按鈕點擊,我試圖禁用onClick到假和手動通過jquery調用函數,但不幸的是我無法運行,有沒有其他方法可以上傳而不用回傳?上傳圖像沒有回傳

第二個問題:我們不能簡單地調用靜態方法。任何技巧來調用靜態的其他方法?

+0

你可以在HTML 5或iframe實現使用FileAPI,以避免回發 –

+0

有jQuery插件,如http ://malsup.com/jquery/form/ – kpull1

回答

2

我認爲這將有助於你:

這裏是上傳名爲.jpg文件

代碼

腳本代碼:

<script src="JS/jquery-2.1.0.js"></script> 
<script type="text/javascript"> 
    function SaveAllDetails() { 
     if (document.getElementById("FileUploadMyImage").value != "") { 
      var file = document.getElementById('FileUploadMyImage').files[0]; 
      var reader = new FileReader(); 
      reader.readAsDataURL(file); 
      reader.onload = UpdateFiles; 
     } 
     else { 
      alert('Please Choose An Image'); 
     } 
    } 

    function UpdateFiles(evt) { 
     var result = evt.target.result; 
     var ImageSave = result.replace("data:image/jpeg;base64,", ""); 
     var savobject = { 'savingvalues': ImageSave }; 
     $.ajax({ 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      url: "Default.aspx/SaveAllDetails", 
      data: JSON.stringify(savobject), 
      dataType: "json", 
      success: function() { 
       alert('SuccessFully Uploaded'); 
      }, 
      error: function() { 
       alert('Not Uploaded'); 
      } 
     }); 
    } 
</script> 

HTML部分:

<div> 
<input type="file" id="FileUploadMyImage" /> 
    <input type="button" value="Submit" onclick="SaveAllDetails();" /> 
</div> 

您的asp.net表單後面的代碼:

[WebMethod(EnableSession = true)] 
public static void SaveAllDetails(string savingvalues) 
{ 
    byte[] getImageData = Convert.FromBase64String(savingvalues); 
} 

變量「getImageData」是你的形象,你可以直接發送到您的「存儲過程」

+0

這是不會Updatefile(EVT)我寫了警報命令,並檢查它顯示讀取器數據,但不是savobject對象 – CoRRoDED34

+0

首先,你應該確保你已經添加了最新的jquery版本,然後用腳本檢查Fileupload控件的id:ie:** document.getElementById(「FileUploadMyImage」)**和** * * –

+0

是啊!我已經驗證了這一點,並在按鈕,它顯示onClick錯誤,所以我用onClientClick ..這是否導致問題?因爲onClick在代碼頁顯示該行錯誤 – CoRRoDED34