import Java.awt.image.BufferedImage;
import sun.misc.BASE64Decoder;
public void listMediaObject() throws Exception
{
final String MO_STRUCTURE = "ABGT";
final String MO_APP = "P01012_W01012B";
final String MO_VERSION = "ZJDE0001";
final String MO_KEY = "479";
final int MO_THUMBSIZE = 50;
final String FILE_LOCATION = "C:\\temp\\AISClientDownloads\\";
//set request info include URLs so they don't have to be fetched later
MediaObjectListRequest mediaObjectListRequest = new MediaObjectListRequest(loginEnv);
mediaObjectListRequest.setFormName(MO_APP);
mediaObjectListRequest.setVersion(MO_VERSION);
mediaObjectListRequest.setIncludeURLs(false);
mediaObjectListRequest.setIncludeData(true);
mediaObjectListRequest.setMoStructure(MO_STRUCTURE);
mediaObjectListRequest.setThumbnailSize(MO_THUMBSIZE); //available in tools 9.1.5+ only
//set the moKey
mediaObjectListRequest.addMoKeyValue(MO_KEY);
// - Date Example, if MO key includes a date value -
//mediaObjectListRequest.addMoKeyValue(AISClientUtilities.convertMillisecondsToYMDString(mydate.getTime()));
//I only want
filesmediaObjectListRequest.addMoType(mediaObjectListRequest.MO_TYPE_FILE);
mediaObjectListRequest.addMoType(mediaObjectListRequest.MO_TYPE_QUEUE);
//I only want these types
mediaObjectListRequest.addExtension("jpg");
mediaObjectListRequest.addExtension("gif");
mediaObjectListRequest.addExtension("jpeg");
mediaObjectListRequest.addExtension("pdf");
//get the list of available files for this media object
MediaObjectListResponse mediaObjectListResponse = MediaObjectOperations.getMediaObjectList(loginEnv, mediaObjectListRequest);
if (mediaObjectListResponse != null)
{
for (int i = 0; i < mediaObjectListResponse.getMediaObjects().length; i++)
{
FileAttachment fileAt = new FileAttachment();
fileAt.setThumbFileLocation(mediaObjectListResponse.getMediaObjects()[i].getThumbFileLocation());
fileAt.setItemName(mediaObjectListResponse.getMediaObjects()[i].getItemName());
fileAt.setFileName(mediaObjectListResponse.getMediaObjects()[i].getFile());
fileAt.setDownloadUrl(mediaObjectListResponse.getMediaObjects()[i].getDownloadUrl());
fileAt.setSequence(mediaObjectListResponse.getMediaObjects()[i].getSequence());
//if it's an image, save the thumnail data to a file
if (!fileAt.getFileName().contains("pdf"))
{
BufferedImage image = decodeToImage(mediaObjectListResponse.getMediaObjects()[i].getData());
if (image != null)
{
File file = new File(fileAt.getFileName());
File outputfile = new File(FILE_LOCATION + "thumb_" + file.getName());
ImageIO.write(image, "jpg", outputfile);
}
}
}
}
}
public static BufferedImage decodeToImage(String imageString)
{
BufferedImage image = null;
byte[] imageByte;
try
{
BASE64Decoder decoder = new BASE64Decoder();
imageByte = decoder.decodeBuffer(imageString);
ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
image = ImageIO.read(bis);
bis.close();
}
catch (Exception e)
{
e.printStackTrace();
}
return image;
}