需要关于使用ASP.Net或JavaScript将图像复制到网站剪贴板的帮助吗?
我需要一个关于复制图像到网站剪贴板的帮助。图像是动态创建的 我找到了两个解决办法 解决方案1:需要关于使用ASP.Net或JavaScript将图像复制到网站剪贴板的帮助吗?,javascript,asp.net,Javascript,Asp.net,我需要一个关于复制图像到网站剪贴板的帮助。图像是动态创建的 我找到了两个解决办法 解决方案1: using System.Windows.Forms; Bitmap bitmapImage ; protected void buttonClipboard_Click(object sender, System.Web.UI.ImageClickEventArgs e) { MemoryStream memoryStream = new MemoryStream(imageByteAr
using System.Windows.Forms;
Bitmap bitmapImage ;
protected void buttonClipboard_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
MemoryStream memoryStream = new MemoryStream(imageByteArray); // Image byte array is the input
bitmapImage = (Bitmap)System.Drawing.Image.FromStream(memoryStream);
memoryStream.Flush();
memoryStream.Close();
Thread cbThread = new Thread(new ThreadStart(CopyToClipboard));
cbThread.ApartmentState = ApartmentState.STA;
cbThread.Start();
cbThread.Join();
}
[STAThread]
protected void CopyToClipboard()
{
if (bitmapImage != null)
{
//Clipboard.SetData(DataFormats.Bitmap, bitmapImage);
Clipboard.SetImage(bitmapImage);
}
}
在发布网站之前,这可以正常工作。
发布后,这在任何网站浏览器中都不起作用,因为这里使用了STAThread。
一些网站表示,由于浏览器中的内部多线程处理,该线程在已发布的网站中无法工作
解决方案2:
<script type="text/javascript">
function CopyToClip() {
var imgControl = document.getElementById('imageContent');
imgControl.contentEditable = 'true';
var controlRange;
if (document.body.createControlRange) {
controlRange = document.body.createControlRange();
controlRange.addElement(imgControl);
controlRange.execCommand('Copy');
}
imgControl.contentEditable = 'false';
return true;
}
函数CopyToClip(){
var imgControl=document.getElementById('imageContent');
imgControl.contentEditable='true';
无功控制范围;
if(document.body.createControlRange){
controlRange=document.body.createControlRange();
controlRange.addElement(imgControl);
controlRange.execCommand('Copy');
}
imgControl.contentEditable='false';
返回true;
}
这个java脚本在发布网站之前和之后可以很好地用于IE。但它在任何情况下都无法在Chrome&Mozilla中工作
我需要一个用于Mozilla和Chrome的解决方案
请提出解决方案 无需用户手动编辑至少一个配置文件
用铬合金做的
如果您希望跨浏览器剪贴板支持,flash小部件是目前唯一真正可行的方法 无需用户手动编辑至少一个配置文件
用铬合金做的
如果您希望跨浏览器剪贴板支持,flash小部件是目前唯一真正可行的方法 IE是唯一支持这种剪贴板交互方法的浏览器。没有其他浏览器支持将图像放置在剪贴板中 对于文本,您必须使用基于Flash的解决方案来实现跨浏览器支持。你可以 Mozilla有一个很好的应用程序,但它的级别相当低,而且从安全角度来看,他们不太热衷于打开剪贴板。特别是关于“为网站启用剪贴板访问”: Firefox没有内置这样的功能
然而,有一个有趣的问题。特别是,该方法似乎适合您的用例。提供了一个有趣的
onpaste
事件测试,但不幸的是,在剪贴板上的项目上没有任何内容,仅检索它们。IE是唯一支持这种剪贴板交互方法的浏览器。没有其他浏览器支持将图像放置在剪贴板中
对于文本,您必须使用基于Flash的解决方案来实现跨浏览器支持。你可以
Mozilla有一个很好的应用程序,但它的级别相当低,而且从安全角度来看,他们不太热衷于打开剪贴板。特别是关于“为网站启用剪贴板访问”:
Firefox没有内置这样的功能
然而,有一个有趣的问题。特别是,该方法似乎适合您的用例。提供了一个有趣的onpaste
事件测试,但不幸的是,剪贴板上的项目没有任何内容,只是检索它们