System.Windows.Forms.Clipboard在桌面上工作,但在IIS上不起作用

时间:2015-06-16 10:56:50

标签: c# image iis clipboard

我有一个小模块,它正在剪贴板中查找图像,如果它在那里,则在页面上显示它。这在我的桌面上运行良好,但在IIS上托管时永远不会进入System.Windows.Forms.Clipboard.ContainsImage()。任何超出目的的概念,如Windows剪贴板都不能被服务器端应用程序使用?

        if (System.Windows.Forms.Clipboard.ContainsImage())
        {
            img = System.Windows.Forms.Clipboard.GetImage();
            imgBytes = imageToByteArray(img);
            string imgString = Convert.ToBase64String(imgBytes, 0, imgBytes.Length);                
            clipBoardImg.ImageUrl = "data:image/jpeg;base64," + imgString;
            clipBoardImg.Visible = true;
        }

1 个答案:

答案 0 :(得分:0)

如果您尝试访问IIS上的剪贴板,则尝试在服务器上 >,而不是在客户端上访问它。这肯定会在服务器端失败,因为您的服务器进程中没有屏幕(您不是用户交互的)。

您应该做的是将此代码转换为客户端(例如javascript),这很难,因为您无法从客户端浏览器访问剪贴板。

我认为(几乎)不可能实现这一点。使用input type=file会帮助你吗?还是a drag-drop surface?这对我来说似乎是更好的选择。