Wie kopiere ich ein Bild und bekomme den Pfad beim Einfügen in die Dateieingabe zurück?

3394
Alexander Torstling

Ich bekomme manchmal Ad-hoc-Fehlerberichte von Kunden, die ich an unseren Online-Bug-Tracker übertragen muss. Funktioniert gut für Text, aber Bilder sind langweilig.

Ich bin auf der Suche nach einer Lösung zum Kopieren und Einfügen von Bildern aus Dokumenten (z. B. Excel-Tabellen), sodass beim Einfügen eines Bildes in eine Dateieingabe (oder Texteingabe) auf einer HTML-Seite die Datei automatisch auf die Festplatte geschrieben wird (tmp dir) und der Pfad in das Dateieingabefeld geschrieben.

Diese Frage bezieht sich auf Direktes Einfügen eines Zwischenablagebildes in eine Gmail-Nachricht . Ich möchte jedoch fragen, ob es eine Lösung gibt, die nur ein lokales Programm verwendet. Ich interessiere mich für Lösungen für alle Betriebssysteme.

8
Ich denke, es ist ohne Software von Drittanbietern nicht möglich. ukanth vor 14 Jahren 0
Software von Drittanbietern ist kein Problem - ich möchte nur wissen, ob eine solche Software vorhanden ist. Alexander Torstling vor 14 Jahren 0
Wenn niemand so etwas findet, mache ich eins .. Windows-Lösung würde für mich ausreichen. Pavel Radzivilovsky vor 13 Jahren 0
Klingt nach etwas Autohotkey, aber ich müsste nachsehen, wie. Klingt nach einer großartigen Idee. Phoshi vor 13 Jahren 1

5 Antworten auf die Frage

3
Pavel Radzivilovsky

Okay Jungs, das habe ich getan.

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"); } } } 

Kompilierte es zu einer EXE-Datei und fügte eine Startmenü-Verknüpfung mit der Tastenkombination Strg + Umschalt + C hinzu. Anschließend wird das aktuelle Bild in der Zwischenablage in eine Datei kopiert und der Pfad der Datei in die Zwischenablage eingefügt.

2
Ed Brannin

Dieser AutoHotKey-Thread verfügt über ein AutoHotKey-Skript zum Erstellen eines Screenshots. Es enthält die Quelle für ein triviales .Net 1.1-Programm zum Speichern der Zwischenablage in einer PNG-Datei. Sie möchten, dass es einige andere Modifikationen hat:

  • Speichern Sie das Bild in einem anderen Ordner mit einem besseren Namen als image.png
  • Kopieren Sie den Pfad zum neuen Bild in Ihre Zwischenablage

Die AutoHotKey Clipboard-Befehle sind eine andere Möglichkeit, auf diese Daten zuzugreifen, obwohl ein Programm, das seine Bilddaten abruft, etwas komplizierter wäre.

1
Jason

Nicht sicher, ob ich deine Frage beantworte. aber du kannst clipman ausprobieren. Es hilft Ihnen, alles zu kopieren und aufzubewahren, bis Sie es nacheinander auswählen. Clipman, Quelle CNET

0
Tom Wijsman
  • Klicken Sie mit der rechten Maustaste auf das Bild und speichern Sie es.
  • Ziehen Sie das Bild in einen Ordner.
  • Verwenden Sie das Snipping Tool und speichern Sie es von dort?

Mit diesen drei Methoden können Sie eine Datei schnell speichern. Der Datei-Explorer wechselt immer in denselben Ordner, sodass das schnelle Speichern oder Hochladen der Datei kein Problem darstellt.

Die direkte Zwischenablage wurde zuvor abgefragt und ist fehlgeschlagen .

Das Bild kommt nicht aus dem Web. Es ist mehr als ein Rechtsklick. Außerdem brauche ich nicht viele hintereinander. Ich brauche gelegentlich für viele Menschen an vielen Stationen. Der genaue Anwendungsfall ist das Hinzufügen eines Bildes zum fogbugz-Wiki. Pavel Radzivilovsky vor 13 Jahren 0
Ich verstehe das nicht ... Sie können einfach mit der rechten Maustaste auf ein Bild in Word oder Excel klicken und auf "Bild speichern" klicken. Wenn die Zwischenablage nicht funktioniert, können Sie am schnellsten eine der oben genannten Methoden verwenden oder ein Add-On für Word oder Excel schreiben, das eine rechte Menüoption zum direkten Hochladen in fogbugz hinzufügt. Tom Wijsman vor 13 Jahren 0
0
ghoppe

Ich bin nicht mit Windows vertraut, aber da Sie nach Lösungen für alle Betriebssysteme gefragt haben, habe ich eine Applescript-Lösung für Mac OS X, die ich durch Kopieren eines Bildes auf dieser Website und Ausführen des Skripts getestet habe.

In diesem Applescript wird davon ausgegangen, dass sich das Bild im TIFF-Format in der Zwischenablage befindet (möglicherweise muss geprüft werden, ob dies aus Excel stammt.) Es erstellt die Datei aus der Zwischenablage, speichert sie in einem temporären Verzeichnis und fügt den Pfad dann in ein das angegebene Feld auf der vordersten Seite in Safari.

Sie würden also das Bild kopieren, zu Ihrer Safari-Seite wechseln und das Skript ausführen. (Machen Sie aus dem Skriptmenü einen Dienst und weisen Sie eine Verknüpfung zu oder verwenden Sie FastScripts, um dem Applescript eine Verknüpfung zuzuweisen.)

Das Skript muss angepasst werden, um das richtige Feld in Ihrem Formular zu finden.

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 

Bearbeiten: Dinge zu beachten:

  • Ich mache nichts mit dem Pfad, der Standardbegrenzer ist ein Doppelpunkt. Möglicherweise möchten Sie den POSIX-Pfad.
  • Ist es möglich, das Javascript zu ändern, um ein Datei-Upload-Javascript auszuführen? (Ich habe keine Erfahrung damit, aber ich denke es könnte gemacht werden.)
  • Excel unterstützt Applescript und verfügt über einen copy pictureBefehl. Möglicherweise ist dies in einem Schritt möglich. Bild auswählen, Skript ausführen, Skriptkopien erstellen, speichern, Webseite öffnen und Formular ausfüllen.