2012-11-01 151 views
0

我在javascript中創建圖像並將其分配給javascript中的img元素。如何將該圖像傳遞給ActionButton上的控制器在MVC3中單擊?MVC3將圖像傳遞給控制器​​

的Javascript

var picture = jqplotToImg($('#ChartContent')); //method to change chart as picture, no needed here 
var img = document.getElementById("img1"); 
img.src = picture; 

查看

@using (Html.BeginForm()) 
{ 
    <img id="img1" name="img1" /> 
@Html.ActionButton("Export","ExportData","Report") 
} 

控制器

public void ExportReport(FormCollection fc) 
{ 
} 
+0

發佈您的代碼... –

+1

你想發佈圖像文件到控制器還是什麼? img標籤不是輸入標籤,所以它不通過表格發佈 –

+0

是的,我想發佈圖像作爲文件。確切的需要是我想添加圖像到Excel中。但圖像是從客戶端創建的。所以想到先將映像發佈到服務器上,然後將其添加到excel中。 – DON

回答

1

我提示base64字符串,然後複製並使用它進行測試,因此失敗。我用AJAX方法,這和它的作品

function ExportData() { 
    var picture = jqplotToImg($('#ChartContent')); 
    //prompt("", picture); 

    $.ajax({ type: 'POST', 
     url: '../Report/Base64ToImage', 
     async: false, 
     data: { source: picture }, 
     success: function (data) { 
      //alert(data); 
     } 
    }); 
    window.location.href = "../Report/ExportChart"; 
} 

[HttpPost] 
    public void Base64ToImage(string source) 
    { 
     string base64 = source.Substring(source.IndexOf(',') + 1); 
     base64 = base64.Trim('\0'); 
     byte[] data = Convert.FromBase64String(base64); 
     string path = System.Configuration.ConfigurationManager.AppSettings["UploadFolder"].ToString(); 

     var file = Server.MapPath(path + "Chart.jpg"); 
     System.IO.File.WriteAllBytes(file, data); 
    } 
1

您可以使用HTML5 File API它允許你異步圖片上傳到服務器。

這裏是另一個example如何將圖像轉換爲Base64字符串,然後可以使用任何方式將其發送到服務器,例如AJAX。

+0

當我嘗試在asp.net這個傳遞給的ImageUrl,不顯示 – DON

+0

圖像當我嘗試下面的URL傳遞到的ImageUrl在asp.net時,不顯示該圖像數據':圖像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgAABG4AAAH0CAYAAABsCGvoAAAgAElEcABCEAAAhAIKAHETUAnhrAgAAEIQAACEIAABCAAAQhAAAIQgADihjUAAQhAAAIQgAAEIAABCEAAAhCAAAQCSgBxE9CJISwIQAACEIAABCAAAQhAAAIQgAAEIIC4YQ1AAAIQgAAEIAABCEAAAhCAAAQgAIGAEkDcBHRiCAsCEIAABCAAAQhAAAIQgAAEIAABCCBuWAMQgAAEIAABCEAAAhCAAAQgAAEIQCCgBBA3AZ0YwoIABCAAAQhAAAIQgAAEIAABCEAAAogb1gAEIAABCEAAAhCAAAQgAAEIQAACEAgoAcRNQCeGsCAAAQhAAAIQgAAEIAABCEAAAhCAAOKGNQABCEAAAhCAAAQgAAEIQAACEIAABAJKAHET0IkhLAhAAAIQgAAEI =' – DON

+0

您的瀏覽器是否支持[Data URI Scheme](http://en.wikipedia.org/wiki/Data_URI_scheme)?圖像的src'屬性如何在生成的標記中看起來像? –

相關問題