Hi,
I have java agent to generate a thumbnail image while saving a new document with an attachment. I am using extractfile method to detach the file to hard drive and resize. It is working fine in Windows platform. But I am getting the following error in Linux server while calling the extractfile method
Please Help
Jaison Kuriakose
Here is the notes log
======================
11/05/2004 10:40:05 AM Addin: Agent error message: lotus.domino.NotesException
11/05/2004 10:40:05 AM Addin: Agent error message: at lotus.domino.local.EmbeddedObject.extractFile(EmbeddedObject.java:125)
11/05/2004 10:40:05 AM Addin: Agent error message: at JavaAgent.NotesMain(JavaAgent.java:27)
11/05/2004 10:40:05 AM Addin: Agent error message: at lotus.domino.AgentBase.runNotes(AgentBase.java:161)
11/05/2004 10:40:05 AM Addin: Agent error message: at lotus.domino.NotesThread.run(NotesThread.java:203)
Here is my full java code
==========================
import lotus.domino.*;
import java.awt.Image;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import com.sun.jimi.core.Jimi;
import com.sun.jimi.core.JimiImage;
import com.sun.jimi.core.filters.AspectReplicateScaleFilter;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
FileInputStream in = null;
FileOutputStream out = null;
Document doc = agentContext.getDocumentContext();
EmbeddedObject obj = doc.getAttachment(doc.getItemValueString("FileName"));
if (obj != null) {
if (obj.getType() == EmbeddedObject.EMBED_ATTACHMENT) {
//obj.extractFile(doc.getItemValueString("Path") +"\\" + obj.getName() );
//String filename=doc.getItemValueString("Path") +"\\" + obj.getName();
//String outfile=doc.getItemValueString("Path") +"\\tmp" + obj.getName();
obj.extractFile("use//tmp//" + obj.getName() );
String filename=doc.getItemValueString("Path") +"//" + obj.getName();
String outfile=doc.getItemValueString("Path") +"//tmp" + obj.getName();
int width=400;
int height=150;
in = new FileInputStream(filename);
out = new FileOutputStream(outfile);
JimiImage image = Jimi.getRasterImage(in);
ImageFilter filter = new AspectReplicateScaleFilter(width, height);
FilteredImageSource producer = new FilteredImageSource(
image.getImageProducer(),filter);
String imageContentType = "image/jpeg";
Jimi.putImage(imageContentType, producer, out);
RichTextItem body = doc.createRichTextItem("NewAttach");
body.embedObject(EmbeddedObject.EMBED_ATTACHMENT,
null, doc.getItemValueString("Path") +"//tmp" + obj.getName(), "tmp" + obj.getName());
}
}
} catch(Exception e) {
e.printStackTrace();
}
}
}