画像をコピーする方法、ファイル入力に貼り付けるときにパスを戻す方法は?


8

顧客からアドホックなバグレポートを受け取ることがあります。オンラインのバグトラッカーに転送する必要があります。テキストは問題なく機能しますが、写真は面倒です。

HTMLページのファイル入力(またはテキスト入力)に画像を貼り付けると、ファイルが自動的にディスクに書き込まれるように、ドキュメント(Excelシートなど)から画像をコピーして貼り付けるソリューションを探しています(tmp dir)、およびファイル入力フィールドに書き込まれたパス。

この質問は、クリップボードの画像をGmailメッセージ直接貼り付けるに関連していますが、ローカルプログラムのみを使用する解決策があるかどうかを確認します。すべてのオペレーティングシステムのソリューションに興味があります。


サードパーティのソフトウェアなしではそれは不可能だと思います。
ukanth

サードパーティのソフトウェアは問題ありません-そのようなソフトウェアが存在するかどうかを知りたいだけです。
Alexander Torstling

誰もそのようなものを見つけなかった場合は、私が作成します。Windowsソリューションで十分です。
Pavel Radzivilovsky、2010年

1
オートホットキーでできることのように聞こえますが、私はその方法を調べなければなりません。しかし、素晴らしいアイデアのように思えます。
Phoshi

回答:


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

私があなたの質問に答えるかどうかわかりません。クリップマンを試すことができます。これは、すべてをコピーして、1つずつ選択するまで脇に置いておくのに役立ちます。 Clipman、ソースCNET


0
  • 画像を右クリックして保存しますか?
  • 画像をフォルダにドラッグしますか?
  • Snipping Toolを使用して、そこから保存しますか?

これらの3つの方法により、ファイルをすばやく保存できます。ファイルエクスプローラーは常に同じフォルダーに移動するので、ファイルをすばやく保存またはアップロードしても問題はありません...

ダイレクトクリップボード機能は以前に要求され、失敗しました


画像はウェブからのものではありません。それは右クリック以上のものです。加えて、私は連続して多くを必要としません。時々、多くの人のために、多くの駅で1つ必要です。正確な使用例は、fogbugz wikiに画像を追加することです。
Pavel Radzivilovsky 2010年

わかりません... WordまたはExcelで画像を右クリックして、[この画像を保存]をクリックするだけです。クリップボードが機能しない場合は、上記の方法のいずれかを使用するか、正しいメニューオプションを追加してWordまたはExcelのアドオンを作成し、fogbugzに直接アップロードするのが最も速い方法です。
Tamara Wijsman 2010年

0

私はWindowsに精通していませんが、すべてのOSの解決策を求めていたので、このWebサイトの画像をコピーしてスクリプトを実行することでテストしたMac OS Xのapplescriptソリューションがあります。

このapplescriptは、画像がTIFF形式でクリップボードにあることを前提としています(これがExcelから出力されるものかどうかをテストする必要がある場合があります)。クリップボードからファイルを作成し、一時ディレクトリに保存してから、パスをSafariの最前面のページの指定されたフィールド。

したがって、画像をコピーし、Safariページに切り替えて、スクリプトを実行します。(スクリプトメニューから、サービスにしてショートカットを割り当てるか、FastScriptを使用してショートカットをapplescriptに割り当てます。)

スクリプトは、フォーム上の適切なフィールドを見つけるために調整する必要があります。

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コマンドがあります。これを1つのステップで実行することは可能です。画像を選択し、スクリプトを実行し、スクリプトをコピーして保存し、Webページを開いてフォームに入力します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.