Photoshop のスクリプト機能を使用して、Photoshop から画像 (たとえば、jpeg にエクスポートされた開いている画像) を REST サービス、FTP などの Web 場所にアップロードすることは可能ですか? たとえば、Photoshop で画像を開き、その画像のエクスポート バージョンを Web 上のどこかに送信する特別なスクリプトを実行します。このようなものを見ましたが、Windows で ftp コマンドを実行する自動生成されたバッチ ファイルを使用します。できればもっと綺麗なものを使いたいです。または、このタスクのための単純なプラグインを作成する方法を知るための情報があるかもしれません. ありがとう。
5 に答える
Photoshop APIは、ソケットオブジェクトを公開します。このように使えます
function sendDataToServer(data) {
var socket = new Socket(),
port = 80,
domain = "www.example.com",
page = "/path/to/file.php",
bin;
if(socket.open(domain + ":" + port,"binary")) {
socket.write("GET http://" + domain + page + "?data=" + data + " HTTP/1.0\n\n");
bin = socket.read(9999999);
alert(bin);
socket.close();
}
}
これにより、サーバーの応答とリクエストのヘッダーが返されます。次のような方法を使用してファイルを読み取ることができます。
function getLine(html){
var line = "", i = 0;
for (; html.charCodeAt(i) != 10; i++){ // finding line end
line += html[i] ;
}
return line;
}
getLine
また、このメソッドは、次のメソッドを使用してヘッダーを削除します。
function removeHeaders(binary){
var bContinue = true, // flag for finding end of header
line = "",
nFirst = 0,
count = 0;
while (bContinue) {
line = getLine(binary) ; // each header line
bContinue = line.length >= 2 ; // blank header == end of header
nFirst = line.length + 1 ;
binary = binary.substr(nFirst) ;
}
return binary;
}
おそらくフォトショップのJavaScriptで:
http://www.adobe.com/devnet/bridge/pdfs/javascript_tools_guide_cs3.pdf
ファイルを REST Web サービスにアップロードする標準的な方法は次のとおりです。 1. 本文に画像ストリームを含む Content-Type: application/octet-stream で POST を使用します。2. POST 時に「SLUG」ヘッダーを使用して、イメージ ファイル名を指定します。
PhotoShop が公開している API の種類はわかりませんが、画像ストリームを読み取る API があると思います。したがって、この API を使用して、必要な POST 要求を準備し、画像をサーバーに追加できます :-)
お役に立てば幸いです、シェイ
Photoshop API がネットワーク アクセスをサポートしていない場合は、スクリプトから Flash/Flex ファイルを読み込んでから、swf でアップロードを行うことができます。
Photoshop 内の API では、ネットワーク アクセスが許可されていません。Photoshop を制御するだけで、Photoshop 内で実行できるユーザー アクションに限定されます。
Photoshop の出力を後処理するには、Automator または別の外部スクリプト言語を使用することをお勧めします。