JavaScript的工作:
$('#fileID').on('change',function(){ }
var imageName = '';
if (this.files && this.files.length > 0) {
imageName = this.files[0].name;
}
else if (this.value) {
imageName = this.value;
}
if (window.FileReader) {
//as same as other samples
}
else{
var image = document.getElementById('imgItem');
image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale', src='" + imageName + "')";
image.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';
}
//code end
我覺得這是行之有效的仿真,IE9。
另一種方式來繪製圖像:
var canvas = document.getElementById('imgArea');
var img = new Image();
img.src = imageName;
img.onload = function() {
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, 200, 200);
}
注:添加2017/12/27
一個解決方案預覽與IE-9的局部圖像: IE-9 does`nt支持FileReader,所以我試圖先上傳它,然後將imageName(帶有服務器路徑)返回到View以更改img的'src'屬性。 它運作良好。
點數:(該示例是使用MVC)
1.In輸入型文件的 '改變' 事件,執行ajaxSubmit會(操作方法:無效)
2.In的控制器使用[Newtonsoft.Json.JsonConvert.SerializeObject]返回json格式的字符串。
Response.Write(strData);
3.在ajaxSubmit的回調中,只需更改img的src即可。 (不要忘記將結果轉換爲json)