I have created a solution for this in TypeScript using the Aria Build Tools
https://github.com/vmware/build-tools-for-vmware-aria
public FileSave(objMimeAttachment: MimeAttachment): boolean {
let objFile: File = this.FileGet(objMimeAttachment.name);
let blnResultDelete: boolean = this.FileDelete(objMimeAttachment.name);
if (blnResultDelete === true) {
let blnResultWrite: boolean = this.FileWrite(objMimeAttachment);
if (blnResultWrite === false) {
return false;
}
else {
return true;
}
}
else {
return false;
}
}
public FileCanWrite(objMimeAttachment: MimeAttachment): boolean {
let objFile: File = this.FileGet(objMimeAttachment.name);
return objFile.canWrite();
}
public FileCanRead(objMimeAttachment: MimeAttachment): boolean {
let objFile: File = this.FileGet(objMimeAttachment.name);
return objFile.canRead();
}
public FileWrite(objMimeAttachment: MimeAttachment): boolean {
let strTempDirectory: string = System.getTempDirectory();
try {
objMimeAttachment.write(strTempDirectory, null);
return true;
}
catch {
return false;
}
}
public FileDelete(strFileName: string): boolean {
let objFile: File = this.FileGet(strFileName);
if (objFile.exists) {
try {
objFile.deleteFile();
return true;
}
catch {
return false;
}
}
}
public FileExists(strFileName: string): boolean {
let objFile: File = this.FileGet(strFileName);
if (objFile.exists) {
this.objLogger.info(`File ${strFileName} already exists.`);
}
return objFile.exists;
}
public FileGet(strFileName: string): File {
let strTempDirectory: string = System.getTempDirectory();
let objFile: File = new File(strTempDirectory + "/" + strFileName);
if (objFile.exists) {
return objFile;
}
else {
return null;
}
}
------------------------------
Simon Sparks
Automation & Orchestration Consultant
North West England, UK, Europe
Broadcom Employee
------------------------------