I'm trying to add attachment from input stream or byte array .
I have the following code:
Blob blob = rset.getBlob(12);
int blobLength = (int) blob.length();
byte[] blobAsBytes = blob.getBytes(1, blobLength);
blob.free();
String folder ="/home/atlassian/application-data/SBMAttachments/";
File tempFile = new File(folder+filePrefix + fileName);
FileOutputStream fos = new FileOutputStream(tempFile);
fos.write(blobAsBytes);
addAttachmentToJira(tempFile,issue, fileName,user);
public static boolean addAttachmentToJira(File file,Issue issue,String filename,ApplicationUser user) throws Exception{
MimeManager mm = new MimeManager(new FileInputStream(file));
AttachmentManager attachmentManager = ComponentAccessor.getAttachmentManager();
CreateAttachmentParamsBean.Builder builder = new CreateAttachmentParamsBean.Builder();
builder.file(file);
builder.filename(file.getName());
builder.contentType(mm.getSuggestedMimeType(filename));
builder.author(user);
builder.issue(issue);
builder.copySourceFile(true);
CreateAttachmentParamsBean bean = builder.build();
com.atlassian.fugue.Either<AttachmentError,ChangeItemBean> result = attachmentManager.tryCreateAttachment(bean);
if (result.isLeft()) {
AttachmentError attachmentError = (AttachmentError) result.left().get();
//LOG.error("AttachmentError '" + attachmentError.getLogMessage());
} else {
ChangeItemBean changeItemBean = (ChangeItemBean) result.right().get();
//attachmentManager.createAttachment(bean);
//LOG.error("created!");
}
return true;
}
My idea is to add the attachment without saving the file (to save time).
Is there a way to add the attachment from input stream ?
Hi!
Looks like this thread will help for you
Cheers,
Gonchik
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
May I know the full use case?
Looks like you have developed a custom attachment uploader.
Is that correct?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, We had old system (SBM) and we needed to migrate the issues from there to our JIRA.
SBM saved the attachments data as BLOB's in the DB and I wanted to take the stream of BLOB and save it directly to the issue.
eventually I saved the BLOB on the JIRA machine as Files and then attaching this file to the issue.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.