Quantcast
Channel: Adobe Community: Message List
Viewing all articles
Browse latest Browse all 72601

Re: Is it possible to call server URL from photoshop script?

$
0
0

I have downloaded images from a web server using socket code I found in Adobe sample Photoshop Javascript Socket.jsx. It seem to use Browser HTML Protocol port 80. But I have never tried FTP a file to a web server using port 21.

// Copyright 2007.  Adobe Systems, Incorporated.  All rights reserved.

// This script demonstrates how to download images from a web server using the Socket object.

// Note: Socket.read() parameter & behavior

// Socket.read() will read or time out. It may not read all data from server.

// Socket.read(999999) will read 999999 bytes, or timeout, or socket will be

// closed by the server.

// Settings

#target photoshop

app.bringToFront(); // bring top

if("en_US" == $.locale) { // display only US build

  alert("This sample script shows how to download images from a web server using the Socket object.");

}

// Remove header lines from HTTP response

function removeHeaders(binary)

{

  var bContinue = true ; // flag for finding end of header

  var line = "";

  var nFirst = 0;

  var 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;

}

// Get a response line from the HTML

function getLine(html)

{

  var line = "" ;

  for (var i = 0; html.charCodeAt(i) != 10; i++){ // finding line end

  line += html[i] ;

  }

  return line ;

}

var socket = new Socket;

var html = "";

if (socket.open("www.adobe.com:80")){

  socket.write("GET /index.html HTTP/1.0\n\n");

  html = socket.read(9999999);

  socket.close();

}

var aImg = html.match(/src=\"\/images\/(.*?)\"/g);  //  src="/images/~~~"

if (null != aImg) { // parsed image tags

  for (var i=0; i < aImg.length; i++) {

  try{

  var str = aImg[i];

  var sImg = str.substring(5, str.length-1); // remove "src=" & ["]

  var f = File("~/socket_sample_" + i + sImg.substr(sImg.length-4)); // 4 = .gif or .jpg

  f.encoding  = "binary";  // set binary mode

  f.open("w");

  if (socket.open("www.adobe.com:80", "binary")){

  socket.write("GET " + sImg +" HTTP/1.0\n\n"); // Adobe's site image link starts with "/"

  var binary = socket.read(9999999);

  binary = removeHeaders(binary);

  f.write(binary);

  socket.close();

  }

  f.close();

  app.open(f); // Open files in Photoshop

  f.remove();  // Remove temporary downloaded files

  }catch(e){

  }

  }

}


Viewing all articles
Browse latest Browse all 72601

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>