08-03-2009 01:21 PM
Hello Worldresults in a file containing:
–ntFc1CtoJLgJ94PK6EIn_3Dm8HX7nXBzL
Content-Disposition: form-data; name="test.txt"
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
Hello World
–ntFc1CtoJLgJ94PK6EIn_3Dm8HX7nXBzL–
public static void main(String[] args) {
String fileName = args[0];
String URL = "http://localhost:8080/alfresco/upload/workspace/SpacesStore/71ee6b00-c473-4fe1-be97-40bc5d6cf80f/";
PutMethod filePost = null;
HttpClient client = null;
try {
String ticket = getTicket();
filePost = new PutMethod(URL+fileName+"?ticket="+ticket);
File mFile = new File(fileName);
FilePartSource fileSource = new FilePartSource(mFile);
Part[] parts = {
new FilePart(fileName, fileSource)
};
filePost.setRequestEntity(
new MultipartRequestEntity(parts, filePost.getParams())
);
client = new HttpClient();
client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
int status = client.executeMethod(filePost);
if (status == HttpStatus.SC_OK) {
System.out.println("Upload success");
} else {
System.out.println("Upload failed: " + HttpStatus.getStatusText(status));
}08-06-2009 06:05 AM
FilePartSource fileSource = new FilePartSource(mFile);
Part[] parts = {
new FilePart(fileName, fileSource)
};
filePost.setRequestEntity(
new MultipartRequestEntity(parts, filePost.getParams())
);
With filePost.setRequestBody(new FileInputStream(mFile));
11-03-2009 09:22 AM
String fileName = "C:/temp/test.pdf";
String URL = "http://localhost:9090/alfresco/upload/workspace/SpacesStore/00c248bf-3385-4fa7-848b-a2d6a74a9759/";
PutMethod filePost = null;
HttpClient client = null;
try {
//String ticket = getTicket();
String ticket = "TICKET_70a632f462cdb111fa9ada7d4d9213e497393672";
filePost = new PutMethod(URL + "test.pdf" +"?ticket=" + ticket);
File mFile = new File(fileName);
FilePartSource fileSource = new FilePartSource(mFile);
Part[] parts = { new FilePart(fileName, fileSource) };
filePost.setRequestEntity(new MultipartRequestEntity(parts,
filePost.getParams()));
client = new HttpClient();
client.getHttpConnectionManager().getParams().setConnectionTimeout(
5000);
int status = client.executeMethod(filePost);
System.out.println(filePost.getResponseBodyAsString());
if (status == HttpStatus.SC_OK) {
System.out.println("Upload success");
} else {
System.out.println("Upload failed: "
+ HttpStatus.getStatusText(status));
}
} catch (Exception e) {
}
08-05-2010 02:38 AM
private void initialize() throws UploadFault{
log.info("start call to AlfrescoUploadContent.initialize");
try {
String strAlfrescoWsUrl = props.getProperty("alfresco.ws.url");
log.info("strAlfrescoWsUrl: " + strAlfrescoWsUrl);
WebServiceFactory.setEndpointAddress(strAlfrescoWsUrl);
repositoryServiceStub = WebServiceFactory.getRepositoryService();
String alfrescoHost = props.getProperty("alfresco.port");
int alfrescoPort = Integer.valueOf(props.getProperty("alfresco.port"));
HttpParams params = new BasicHttpParams();
ConnPerRouteBean connPerRoute = new ConnPerRouteBean(20);
HttpHost ahost = new HttpHost(alfrescoHost, alfrescoPort);
connPerRoute.setMaxForRoute(new HttpRoute(ahost), 200);
ConnManagerParams.setMaxConnectionsPerRoute(params, connPerRoute);
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), alfrescoPort));
ClientConnectionManager cm = new ThreadSafeClientConnManager(params, schemeRegistry);
client = new DefaultHttpClient(cm, params);
responseHandler = new BasicResponseHandler();
strUtil = new StringUtil();
specialChars = props.getProperty("special.characters");
log.info("specialChars: " + specialChars);
specialCharsReplacement = props.getProperty("special.characters.replacement");
log.info("specialCharsReplacement: " + specialCharsReplacement);
} catch (Exception e) {
log.error("initialization error: ", e);
UploadFault fault = new UploadFault();
UploadFaultMsg msg = fault.getFaultInfo();
msg.setErrorMessage(e.getMessage());
throw fault;
}
log.info("done call to AlfrescoUploadContent.initialize");
}
private void startSession() throws UploadFault {
log.info("start call to AlfrescoUploadContent.startSession");
String strUser = props.getProperty("alfresco.user");
String strPassword = props.getProperty("alfresco.password");
try {
AuthenticationUtils.startSession(strUser, strPassword);
String strTicket = AuthenticationUtils.getTicket();
log.info("strTicket: " + strTicket);
} catch (AuthenticationFault e) {
log.error("authentication error: ", e);
UploadFault fault = new UploadFault();
UploadFaultMsg msg = fault.getFaultInfo();
msg.setErrorMessage(e.getMessage());
throw fault;
}
log.info("done call to AlfrescoUploadContent.startSession");
}
private String uploadContent(String fileUrl, String strFileName) throws UploadFault {
String strTicket = AuthenticationUtils.getTicket();
StringBuffer strBuffUploadUrl = new StringBuffer("http://");
strBuffUploadUrl.append(props.getProperty("alfresco.host"));
strBuffUploadUrl.append(":").append(props.getProperty("alfresco.port"));
strBuffUploadUrl.append("/").append(props.getProperty("alfresco.context"));
strBuffUploadUrl.append("/upload");
strBuffUploadUrl.append("/").append(strFileName);
strBuffUploadUrl.append("?ticket=");
strBuffUploadUrl.append(strTicket);
String strUploadUrl = strBuffUploadUrl.toString();
log.info("strUploadUrl: " + strUploadUrl);
HttpPut putFile = new HttpPut(strUploadUrl);
URL url;
InputStream is;
String responseBody = null;
try {
url = new URL(fileUrl);
is = url.openStream();
InputStreamEntity ise = new InputStreamEntity(is, -1);
putFile.setEntity(ise);
responseBody = client.execute(putFile, responseHandler);
log.info("responseBody: " + responseBody);
} catch (MalformedURLException e) {
log.error("MalformedURLException!", e);
throw new UploadFault(e.getMessage());
} catch (ClientProtocolException e) {
log.error("ClientProtocolException!", e);
throw new UploadFault(e.getMessage());
} catch (IOException e) {
log.error("ClientProtocolException!", e);
throw new UploadFault(e.getMessage());
}
return responseBody;
}
private UploadResponse uploadCMLContent(ParentReference parentRef, UploadRequest req, String strContentData) throws UploadFault {
UploadResponse res = new UploadResponse();
log.info("req.getFileName(): " + req.getFileName());
String strFileName = req.getFileName();
parentRef.setChildName("cm:" + strFileName);
// Create the logical content
NamedValue[] properties = new NamedValue[]
{
Utils.createNamedValue(Constants.PROP_NAME, strFileName),
Utils.createNamedValue(Constants.PROP_CONTENT, strContentData)
};
CMLCreate create = new CMLCreate("1", parentRef, null, null, null, Constants.TYPE_CONTENT, properties);
CML cml = new CML();
cml.setCreate(new CMLCreate[] { create });
List<FormField> formFields = req.getFormFields();
log.info("formFields.size(): " + formFields.size());
NamedValue[] aspectsCommon = new NamedValue[12];
aspectsCommon[0] = Utils.createNamedValue(DMSConstants.PROP_TRACK_NO, req.getTrackNo());
aspectsCommon[1] = Utils.createNamedValue(DMSConstants.PROP_EMAIL, req.getEmail());
aspectsCommon[2] = Utils.createNamedValue(DMSConstants.PROP_ROLE, req.getRole());
aspectsCommon[3] = Utils.createNamedValue(DMSConstants.PROP_FILENAME, req.getFileName());
aspectsCommon[4] = Utils.createNamedValue(DMSConstants.PROP_FILEURL, req.getFileUrl());
aspectsCommon[5] = Utils.createNamedValue(DMSConstants.PROP_DOCTYPE, req.getDoctype());
aspectsCommon[6] = Utils.createNamedValue(DMSConstants.PROP_DESTINATIONDIR, req.getDestinationdir());
aspectsCommon[7] = Utils.createNamedValue(DMSConstants.PROP_PROCESS, req.getProcess());
aspectsCommon[8] = Utils.createNamedValue(DMSConstants.PROP_SUBPROCESS, req.getSubProcess());
aspectsCommon[9] = Utils.createNamedValue(DMSConstants.PROP_ENTITY, req.getEntity());
aspectsCommon[10] = Utils.createNamedValue(DMSConstants.PROP_VERSION, req.getVersion());
aspectsCommon[11] = Utils.createNamedValue(DMSConstants.PROP_ALFRESCO_ENDPOINTURL, req.getAlfrescoEndpointUrl());
CMLAddAspect addAspectCommon = new CMLAddAspect(DMSConstants.ASPECT_COMMON, aspectsCommon, null, "1");
CMLAddAspect[] addAspects = new CMLAddAspect[2];
addAspects[0] = addAspectCommon;
// iterate formFields and add as aspects to the new content
if (formFields.size() != 0) {
NamedValue[] aspects = new NamedValue[formFields.size()];
for (int aspectCtr = 0; aspectCtr != formFields.size(); aspectCtr++) {
FormField ff = (FormField)formFields.get(aspectCtr);
log.info("ff.getFieldValue(): " + ff.getFieldValue());
StringBuffer aspectField = new StringBuffer("metadata").append(aspectCtr+1);
aspects[aspectCtr] = Utils.createNamedValue(DMSConstants.createQNameString(
DMSConstants.DMS_NAMESPACE_CONTENT_MODEL, aspectField.toString()), ff.getFieldValue());
}
CMLAddAspect addAspectMetadata = new CMLAddAspect(DMSConstants.ASPECT_METADATA, aspects, null, "1");
addAspects[1] = addAspectMetadata;
}
cml.setAddAspect(addAspects);
UpdateResult[] result = null;
try {
result = repositoryServiceStub.update(cml);
} catch (RepositoryFault e) {
log.error("RepositoryFault!", e);
throw new UploadFault("RepositoryFault!", e);
} catch (RemoteException e) {
log.error("RemoteException!", e);
throw new UploadFault("RemoteException!", e);
}
log.info("getPath(): " + result[0].getDestination().getPath());
String strUuid = result[0].getDestination().getUuid();
log.info("getUuid(): " + strUuid);
String strDestStoreAddress = result[0].getDestination().getStore().getAddress();
log.info("getAddress(): " + strDestStoreAddress);
String strAfrescoUrl = props.getProperty("alfresco.url.prefix");
String dmsUrl = strAfrescoUrl + strDestStoreAddress + "/" + strUuid + "/" + req.getFileName();
res.setDmsFileUrl(dmsUrl);
res.setStatus("0");
res.setMessage("Successfully uploaded file in DMS!");
return res;
}
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.