我在我的網站上有一個div,我想放置一個按鈕/鏈接(或其他類型的東西),點擊後將div和它的所有內容保存到用戶電腦,就像用來打印div的打印代碼一樣。我是一個編碼新手,所有的幫助都會有所幫助。用戶捕獲div作爲圖像並保存到計算機
8
A
回答
11
這樣做有瀏覽器支持限制。 HTML2Canvas可以將您的HTML內容呈現爲canvas
元素。然後,您可以使用canvas.toDataURL("image/png");
(docs in MDN)方法將canvas
元素導出爲jpeg
或png
圖像。
它沒有得到廣泛的支持,但它仍然是可能的。
0
假設您想要一個文本或HTML文件,而不是像屏幕截圖這樣的圖像文件,JavaScript本身無法在Web瀏覽器上啓動「保存」對話框,只有從Web請求到服務器的響應將會這樣做。
首先,你需要與你的按鈕和一個隱藏字段形式:
<div id="saveme">stuff to save</div>
<form action="saveme.aspx" method="POST">
<input type="submit" onclick="prepsave()">
<input type="hidden" id="savemepost">
</form>
而且你需要一些JavaScript來提交前的DIV內容保存到隱藏字段:
<script>
function prepsave() {
document.getElementById("savemepost").value =
document.getElementById("saveme").innerHTML;
return true;
}
</script>
在服務器上,你需要一些代碼來接受文本和吐回了一個文件附件的形式:
<script runat="server">
Response.Clear()
Response.AddHeader("content-disposition","attachment; filename=saved.html")
Response.Write(Request.Form("savemepost"))
</script>
注意事項#1:可能存在一些小問題,並有很大的改進空間,這只是一個概念證明。
注意事項#2:上述服務器端代碼可能不安全,因爲它允許任何網頁控制從您的域到用戶網絡瀏覽器的內容。您需要添加一些措施以防止濫用。
+0
他說他希望它能像他的評論中的截圖一樣題。 –
1
簡單的方法
var MyDiv1 = document.getElementById('DIV1');
var MyDiv3 = document.getElementById('DIV2');
MyDiv3.innerHTML = MyDiv1.innerHTML;
html2canvas(MyDiv3, {
useCORS: true,
onrendered: function (canvas) {
var dataUrl = canvas.toDataURL("image/png");
document.getElementById("HiddenField1").value = dataUrl;
}
});
使用按鍵,調烏爾隱藏字段值
ButtonClick1()
{
string imgval = HiddenField1.Value;
imgval = imgval.Replace("data:image/png;base64,", "");
byte[] imgData = Convert.FromBase64String(imgval);
using (System.Drawing.Image image = System.Drawing.Image.FromStream(new MemoryStream(imgData)))
{
String path = Server.MapPath("~/imgFolder");
image.Save(path + "\\output.jpg", ImageFormat.Jpeg); // Or Png
}
}
0
一個簡單的方法來做到這一點是使用GrabzIt的JavaScript API來capture a div。你只需要做如下的事情。其中#features是您要捕獲的div的ID。
<script type="text/javascript" src="grabzit.min.js"></script>
<script type="text/javascript">
GrabzIt("Your Application Key").ConvertURL("http://www.example.com/my-page.html",
{"target": "#features", "bheight": -1, "height": -1, "width": -1}).Create();
</script>
免責聲明我構建了此API!
相關問題
- 1. IOS圖像捕獲並保存到UIImageView
- 2. NAO無法將捕獲的圖像保存到本地計算機
- 3. 從相機捕獲圖像並將其保存爲字符串
- 4. 捕獲一個div並保存爲jpeg
- 5. 保存DIV作爲圖像
- 6. 捕獲手機後保存圖像ios
- 7. 保存圖像在本地計算機
- 8. 捕獲一個div作爲圖像
- 9. 捕獲DIV作爲圖像 - C#
- 10. 捕獲/保存JPanel圖像
- 11. 如何使用PHP將圖像保存到本地計算機?
- 12. 在android中用相機捕獲圖像並保存爲自定義名稱
- 13. Aforge.net相機捕捉並保存圖像到目錄
- 14. 使用相機並將圖像保存到firebase不起作用
- 15. 捕獲和裁剪圖像並保存成圖像
- 16. 捕獲android的webview圖像並保存爲png/jpeg
- 17. 如何將通過網絡應用程序捕獲的圖像保存到計算機中的位置
- 18. 將div保存到圖像(不工作)
- 19. 壓縮並保存捕獲到localStorage的圖像
- 20. 問題捕獲圖像並保存到一個ImageView的
- 21. 捕獲攝像頭的圖像並保存
- 22. 捕獲iPhoneOSGameView作爲圖像
- 23. 用`CameraCaptureDialog`捕獲並保存多個圖像
- 24. 如何捕捉圖像並保存(Uri)?
- 25. 捕獲圖像並將其保存在內部存儲器上
- 26. 獲取相機捕獲的圖像並創建位圖圖像
- 27. PHP將文件保存到用戶計算機
- 28. 將文件保存到用戶計算機在VB.Net
- 29. 如何將捕獲的圖像轉換爲GIF並保存到SD卡中android
- 30. 從連接到計算機的攝像頭捕獲圖像並在成像設備中列出
你想從你的div捕獲圖像嗎? – Mohsen
是的,我希望該網站的用戶能夠按下一個按鈕,然後它下載一個jpg/gif/png或div的div的屏幕截圖 –