on 11-10-2016 3:21 PM
I have written a backend servlet to handle the upload of files using the instantUpload
feature of sap.m.UploadCollection
in Openui5. As I am uploading multiple files to the server, I have chosen the sap.m.UploadCollection
instead of the sap.ui.unified.FileUploader
. When I try to parse out a list of FileItem instances from the HttpServletRequest in the servlet, it gives me the exception:
" the request doesn't contain a multipart/form-data or multipart/mixed stream "
The ServletFileUpload.isMultipartContent(request)
is obviously returning me a false
and confirms me that it isn't a multipart/form-data request.
XML Code:
<UploadCollection id="UploadCollection1"
multiple="true"
sameFilenameAllowed="true"
showSeparators="All"
change="onChangeUploadCollection"
fileDeleted="onFileDeleted"
selectionChange="onSelectionChange"
uploadComplete="onUploadCompleteUploadCollection"
beforeUploadStarts="onBeforeUploadStarts"
items="{path : '/record/uploadcollectionitems',
templateShareable : 'true'}"
uploadUrl="{/record/upload}"
mode="SingleSelectLeft">
<toolbar>
<OverflowToolbar id="myId1">
<Title id="attachmentTitle1" />
<ToolbarSpacer />
<Button id="downloadButton1" text="Download"
press="onDownloadItem"
enabled="false" type="Transparent"></Button>
</OverflowToolbar>
</toolbar>
<items>
<UploadCollectionItem documentId="{documentId}"
fileName="{fileName}" mimeType="{mimeType}"
url="{url}" enableEdit="true" enableDelete="true"
visibleDelete="true" visibleEdit="true"
statuses="{path : '/record/uploadcollectionitems',
templateShareable : 'true'}"
selected="false">
<statuses>
<ObjectStatus title="{Status}" visible="false"
state="{state}" icon="{icon}"
iconDensityAware="{iconDensityAware}"
textDirection="{textDirection}" />
</statuses>
</UploadCollectionItem>
</items>
</UploadCollection>
The uploadURL
in the XML points to the Servlet, which starts executing after the selection of the file is done on the front-end.
If I choose to use the FileUploader instead of the UploadCollection, it successfully encodes the request as a multipart/form-data, but it does not fulfill my requirements.
I have also tried adding content-type
as a HeaderParameter and setting it to multipart/form-data
, in order to make the request as a multipart/form-data
. Since such a step is not advisable, I have aborted it mid-way.
Since the sap.m.UploadCollection control uses the sap.ui.unified.FileUploader control and contains dependencies to this control, it is confusing as to why the former would not send the HttpServletRequest as a multipart/form-data
.
Note: I have not included the corresponding JavaScript code or the Servlet code for brevity purposes. I'll be happy to include them if required.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.