如何复制图像,粘贴文件输入时获取路径?


8

有时,我会从客户那里收到临时的错误报告,我需要将这些报告转移到我们的在线错误跟踪器中。适用于文本,但图片很繁琐。

我正在寻找一种从文档(如excel表格)中复制粘贴图像的解决方案,如果您将图像粘贴到html页面上的文件输入(或文本输入)中,该文件将自动写入磁盘(tmp dir),并将路径写入文件输入字段。

这个问题与直接将剪贴板图像粘贴到gmail消息有关,但是我想问是否有仅使用本地程序的解决方案。我对所有操作系统的解决方案都感兴趣。


我认为没有第三方软件是不可能的。
2010年

第三方软件不是问题-我只想知道这种软件是否存在。
亚历山大·托斯汀

如果没有人找到,我会做一个。Windows解决方案对我来说就足够了。
帕维尔·拉兹维洛夫斯基

1
听起来像自动热键可以做什么,尽管我不得不研究如何做。听起来像是个好主意。
Phoshi 2010年

Answers:


3

好的,这就是我所做的。

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace ClipSave
{
    class Program
    {
        [STAThread] public static void Main()
        {
            if (Clipboard.GetDataObject() != null)
            {
                IDataObject data = Clipboard.GetDataObject();

                if (data.GetDataPresent(DataFormats.Bitmap))
                {
                    Image image = (Image)data.GetData(DataFormats.Bitmap, true);
                    string file = System.Windows.Forms.Application.CommonAppDataPath + "\\ClipSaveImage.png";
                    image.Save(file, System.Drawing.Imaging.ImageFormat.Png);
                    Clipboard.SetText(file);

                }
                else
                    MessageBox.Show("Copy valid image first");
            }
            else
                MessageBox.Show("Copy image first");
        }
    }
}

将其编译为EXE,并通过热键Ctrl + Shift + C向其添加了启动菜单快捷方式。然后,它将剪贴板中的当前图像复制到文件中,并将文件的路径放入剪贴板中。


2

该AutoHotKey线程具有用于截屏的AutoHotKey脚本。它包括一个用于将剪贴板保存到PNG的.Net 1.1程序的源代码。您可能希望对其进行一些其他修改:

  • 将图像保存到其他文件夹,其名称比 image.png
  • 将新图像的路径复制到剪贴板

AutoHotkey的剪贴板命令是另一种方式来访问这些数据,但程序来获取其图像数据将是一个比较复杂一点。


1

不知道我是否回答你的问题。但您可以尝试Clipman。它可以帮助您复制所有内容并将其保留在一边,直到您逐一选择。 Clipman,源CNET


0
  • 右键单击图像并保存?
  • 将图像拖到文件夹?
  • 使用截图工具并保存在那里?

这三种方法可让您快速保存文件。文件资源管理器将始终转到同一个文件夹,因此快速保存或上传文件也不会成为问题...

直接剪贴板功能已被询问过并且失败


该图像不是来自网络。不仅仅是单击鼠标右键。另外,我不需要连续很多。对于很多人来说,在很多车站我偶尔需要一个。确切的用例是将图片添加到fogbugz Wiki。
帕维尔·拉兹维洛夫斯基

我不明白...您可以在Word或Excel中右键单击图像,然后单击“保存此图片”。如果剪贴板不起作用,最快的方法是使用上述方法之一,或者让某人为Word或Excel编写加载项,并添加一个右键菜单选项以直接上载到fogbugz。
Tamara Wijsman 2010年

0

我对Windows不熟悉,但是由于您要求所有操作系统的解决方案,因此我有一个适用于Mac OS X的applescript解决方案,已通过在该网站上复制图片并执行该脚本进行了测试。

此小程序假定图像以TIFF格式位于剪贴板上(可能必须测试以查看这是否来自Excel。)它从剪贴板创建文件,将其保存到临时目录,然后将路径粘贴到Safari最前面页面上的指定字段。

因此,您将复制图像,切换到safari页面,然后运行脚本。(从脚本菜单中,使其成为服务并分配快捷方式,或使用FastScriptsapplescript分配快捷方式。)

必须对脚本进行调整以在表单上找到正确的字段。

repeat with i in clipboard info

  if TIFF picture is in i then

    -- grab the picture from the clipboard, set up a filename based on date
    set tp to the clipboard as TIFF picture
    set dt to current date
    set dtstr to (time of dt as string) & ".tiff"
    set pt to ((path to temporary items from user domain as string) & dtstr)
    set tf to open for access file pt with write permission

    -- save the file
    try
        write tp to tf
        close access tf
    on error
        close access tf
    end try

    -- put the path into the proper field in the web Browser
    tell application "Safari"
        activate

        -- adjust javascript as necessary
        -- currently inserts into Answer textarea of this superuser.com page for testing
        -- ie. make sure you've clicked "add answer" first
        set myJS to "document.getElementById('wmd-input').value = '" & pt & "'"

        -- document 1 is frontmost
        do JavaScript myJS in document 1
    end tell

    exit repeat
  end if
end repeat

编辑:要考虑的事情:

  • 我对路径不执行任何操作,默认分隔符为冒号。您可能需要POSIX路径。
  • 是否可以更改JavaScript以执行文件上传JavaScript?(我对此没有经验,但我认为可以做到。)
  • Excel支持applescript,并具有copy picture命令。一步执行此操作可能是可行的。选择图片,运行脚本,脚本副本,保存,打开网页并填写表格。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.