我有一個圖像,我只是試圖顯示保存爲jquery ajax調用下載圖像的對話框。當如下用jquery和asp.net服務器端函數調用強制下載文件
$("#btnSaveAsImage").click(function() {
if (_TrackNumber == '') {
alert('Track Number is not valid');
return;
}
var fname = _TrackNumber + '.gif';
var DTO = { FileName: fname };
jQuery.ajax({
type: "POST",
url: "UPSLabelFormUK.aspx/SaveAs",
data: JSON.stringify(DTO),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var retVal = data.d;
alert(retVal);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
return false;
});
這個客戶端代碼實際上是調用我的服務器端功能的一些人會點擊按鈕,然後客戶端代碼運行,這裏代碼。服務器側功能看起來像
[WebMethod]
public static void SaveAs(string FileName)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.WriteFile(HttpContext.Current.Server.MapPath(@"~/UPS_New/LabelImages/" + FileName));
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
}
當服務器側功能執行結束然後jsuery顯示像解析錯誤一個錯誤消息。我只是不明白爲什麼錯誤來了,爲什麼保存爲對話不會來......任何想法請與我分享。謝謝