09-12-2008 11:03 AM
var file = folder.childByNamePath(filename);
if (file==null) {
var file = folder.createNode(filename, "{http://www.wearport.com/model/content/1.0}art");
}
file.properties.content.write(filecontent);
file.properties.content.encoding = "UTF-8";
file.properties.content.mimetype = mimetype;
file.properties.title = title;
09-12-2008 12:21 PM
09-12-2008 12:46 PM
var filename = null;
var filecontent = null;
var path = null;
var mimetype = null;
var title = null;
var author = null;
var s7node = null;
var libnode = null;
var file = null;
for each (field in formdata.fields)
{
if (field.name != "file") {
logger.log("Field: " + field.name + " Value: " + field.value);
}
if (field.name == "file" && field.isFile)
{
filename = field.filename;
filecontent = field.content;
} else if (field.name == "folder") {
foldernode = field.value;
} else if (field.name == "path") {
path = field.value;
} else if (field.name == "mimetype") {
mimetype = field.value;
} else if (field.name == "title") {
title = field.value;
} else if (field.name == "author") {
author = field.value;
}
}
// ensure mandatory file attributes have been located
if (filename == undefined || filecontent == undefined)
{
status.code = 400;
status.message = "Uploaded file cannot be located in request";
status.redirect = true;
}
logger.log("finding node workspace://SpacesStore/" + path);
var folder = companyhome.childByNamePath(path);
if (folder == null || !folder.isContainer)
{
status.code = 404;
status.message = "Path " + path + " not found.";
status.redirect = true;
} else {
var t = filename.lastIndexOf("\\");
if (t != -1) {
filename = filename.substr(t + 1);
}
try {
file = folder.createNode(filename, "{http://www.wearport.com/model/content/1.0}art");
/* manually add titled aspect in order to fix issue with working-copy */
var scAspectQName = "{http://www.alfresco.org/model/content/1.0}titled";
var addAspect = actions.create("add-features");
addAspect.parameters["aspect-name"] = scAspectQName;
addAspect.execute(file);
file.properties.content.write(filecontent);
file.properties.content.encoding = "UTF-8";
file.properties.content.mimetype = mimetype;
logger.log("setting title to :" + title);
file.properties.title = title;
file.addAspect("cm:referencing");
logger.log("attempting transformation…");
var libFolder = folder.childByNamePath("Library");
libnode = file.transformImage("image/png", "-resize x80", libFolder);
if (libnode != null) {
logger.log("transformation worked");
libnode.name = "X80"+file.name+".png";
libnode.properties.content.mimetype = "image/png";
file.createAssociation(libnode, "cm:references");
file.addAspect("{http://www.wearport.com/model/content/1.0}library");
logger.log("Saving Lib Node: " + libnode.name);
libnode.save();
}
s7node = file.transformImage("image/png", "-resize 1000x1000", libFolder);
if (s7node != null) {
logger.log("s7 transformation worked");
s7node.name = "X1000"+file.name+".png";
s7node.properties.content.mimetype = "image/png";
file.createAssociation(s7node, "cm:references");
s7node.save();
}
logger.log("saving uploaded file");
file.save();
model.msg = 'ok';
model.success = true;
} catch(e) {
model.success = false;
logger.log(e.message);
if (e.message.indexOf('FileExistsException') != -1) {
model.msg = 'duplicate';
} else {
model.msg = 'generror';
}
}
}
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.