canvas.toDateUrl()获得的data:image/png;base64
url =data:image/png;base64,(后面省略一大推代码类似:X3SKVEgQEAUFAEBAEBIFsIfD/AeiDbalt5v6hAAAAAElFTkSuQmCC)
<a href=url> 点击超链接是到1个新页面,上面有张图片,右键另存为才能下载
这种情况 <img src=url> 得到图片,也要右键另存为 我希望直接点1个button就下载这个图片,最好是能选文件路径的!
希望写的详细点啊!
$("#Button1").click(function () {
$("a").attr("href", SaveImg($MyCanvas))
})
function SaveImg($jobj) {
var url = $jobj.toDataURL("image/png");
// window.open(url);
return url
}
url =data:image/png;base64,(后面省略一大推代码类似:X3SKVEgQEAUFAEBAEBIFsIfD/AeiDbalt5v6hAAAAAElFTkSuQmCC)
<a href=url> 点击超链接是到1个新页面,上面有张图片,右键另存为才能下载
这种情况 <img src=url> 得到图片,也要右键另存为 我希望直接点1个button就下载这个图片,最好是能选文件路径的!
希望写的详细点啊!
$("#Button1").click(function () {
$("a").attr("href", SaveImg($MyCanvas))
})
function SaveImg($jobj) {
var url = $jobj.toDataURL("image/png");
// window.open(url);
return url
}
解决方案 »
- 如何使多个数据库的表格合并成一张表并显示在一个gridview中
- 论坛中如何实现帖子按照回复数来排序?
- 有人有Javascript创建GUI的代码吗?
- 菜鸟提问关于是Web.config的配置问题。。。
- 菜鸟提问,怎样打开下载的web项目?
- datalist0中的编辑单元中嵌有datalist1,datalist的每一行中都有按钮,请问我如何设置和得到这些按钮的事件
- 关于DataGrid项的格式问题
- ajax里的updatepanel控件,或是说setInterval()方法,经常每秒刷新,那服务器的负载不是很重么?
- datagrid 中datakeys所表达的关键字问题
- 在一个目录里建立一个文本文件名字为102txt,并把一组字符串写进文本文件.怎么写??
- 在UpdatePanel中动态添加的控件绑定事件后没有响应...
- listview 点编辑时需要点两下才有显示 怎么回事呀
SaveImg方法现在传$MyCanvas进去。。得到URL了吗?
我觉得你还是在BUTTON时。。用AJAX提交到一般处理程序下载
Response.AddHeader "content-type","application/x-msdownload"
Response.AddHeader "Content-Disposition","attachment;filename="&Url
Response.End()
%> 其中Url是附件的下载地址,建议你在Download.asp中调用数据库来获取下载地址,或者通过Session/Cookie/Request将这个下载地址传递给Download.asp. 把你的按钮链接到Download.asp就OK了!找到这个 不懂怎么用
肯定获得 url 而且图片显示出来了!
$.ajax({
type: "POST",
url: "Download.aspx",
data: "Url=" + SaveImg($MyCanvas),
// complete: function (msg) {
// $("#NameCheck").html($(msg.responseText).find("#ajaxName").val()).css({ width: 60 });
// }
});
});
function SaveImg($jobj) {
var url = $jobj.toDataURL("image/png");
// window.open(url);
return url
}
在download.aspx页
protected void Page_Load(object sender, EventArgs e)
{
string Url = Request.Form["Url"];
Response.AddHeader("content-type", "application/x-msdownload");
Response.AddHeader("Content-Disposition", "attachment;filename=" + Url);
Response.End();
}这样不行么?
跳转到新页可以 但是必须是直接跳出下载窗口,怎么弄?
Response.AddHeader("content-type", "application/x-msdownload");------》Response.ContentType = "application/octet-stream";或者用下面流的方式下载看看
FileStream fs = new FileStream(strFilePath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkMAAAC8CAYAAAB7Yqp AAAgAElEQVR4Xu19B3wc13H 7BX0XgiCDSApkmIVSfVC9S5ZbrLkIttxk2U5juI4bonjmubE9t R0yw7iWRLlmV1q1iieq U2HsBQbCAAIhGlMOV/c/3wKWWy73bvcP1m/398ANw9/aVb96 XZm3jxN54vkEgQEAUFAEBAEBAFBoEAR0IQMFajkZdiCgCAgCAgCgoAgoBAQMiQTQRAQBAQBQUAQEAQKGgEhQwUtfhm8ICAICAKCgCAgCAgZkjkgCAgCgoAgIAgIAgWNgJChgha/DF4QEAQEAUFAEBAEhAzJHBAEBAFBQBAQBASBgkZAyFBBi18GLwgIAoKAICAICAJChmQOCAKCgCAgCAgCgkBBIyBkqKDFL4MXBAQBQUAQEAQEASFDMgcEAUFAEBAEBAFBoKAREDJU0OKXwQsCgoAgIAgIAoKAkCGZA4KAICAICAKCgCBQ0AgIGSpo8cvgBQFBQBAQBAQBQUDIk/JSSoCvkpIS4hPe82r96Oo6qE6qnzlzVt6sh5BXQ0ODvmfPHiotLc0reWF914LD k0fvyLhU (后面省略N多)
img src =这个 的确显示出来 而且可以右键另存为
那我的url写在哪里 没看懂呢
{
HttpWebResponse response = null;
long size = -1; try
{
response = (HttpWebResponse) GetRequest(url).GetResponse(); size = response.ContentLength;
}
finally
{
if(response != null)
response.Close();
} return size;
} //下载请求
private static HttpWebRequest GetRequest(string url)
{
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
return request;
}