Notes on multipart implementation

This page high level notes on multipart post implementation in aspire.


/akc/display?url=uploadMPURL&reportId=4788&ownerUserId=some-user-id

Go to that page and view source to see what update request is called


   var vAction = "/akc/update/DocFUL";
   var filename=document.FileUploadForm.datafile.value;
   if (filename.length == 0)
   {
      alert("Sorry. You need to choose a filename to upload");
      return;
   }
   document.FileUploadForm.action=vAction;
   document.FileUploadForm.submit();

So look for the server side pipeline for DocFUL

it is kept in the module: /reports/upload/upload.properties


request.DocFUL.classname=com.ai.db.DBPreTranslateArgsMultiRequestExecutor
request.DocFUL.db=reportsDB
request.DocFUL.request.1=DFUL.parsemultipart
request.DocFUL.request.2=DFUL.validateExistingFile
request.DocFUL.request.3=DFUL.FULCopyFile
request.DocFUL.request=DFUL.savefileInDatabase

Key part: com.ai.parts.SingleFileUPloadCommonsPart

Here is the previous implementation note on this subject

Here is another item

I also use the class: com.ai.parts.FULCopyFilePart

Source code of : FULCopyFilePart

You can search here for source code of Aspire parts

Apache Commons File Upload home page

API docs for commons file upload


public static String getSystemTempDirectory()   
{
    return System.getProperty("java.io.tmpdir");
}

See the limitation of FileItem