List of usage examples for org.apache.wicket.markup.html.form.upload FileUpload closeStreams
public final void closeStreams()
From source file:org.apache.openmeetings.web.common.UploadableImagePanel.java
License:Apache License
public void process(Optional<AjaxRequestTarget> target) { FileUpload fu = fileUploadField.getFileUpload(); if (fu != null) { File temp = null;/*from w ww .j a v a2 s . co m*/ try { temp = fu.writeToTempFile(); StoredFile sf = new StoredFile(fu.getClientFileName(), temp); if (sf.isImage()) { processImage(sf, temp); } } catch (Exception e) { log.error("Error", e); } finally { if (temp != null && temp.exists()) { log.debug("Temp file was deleted ? {}", temp.delete()); } fu.closeStreams(); fu.delete(); } } update(target); }
From source file:org.apache.openmeetings.web.room.sidebar.UploadDialog.java
License:Apache License
@Override protected void onSubmit(AjaxRequestTarget target, DialogButton btn) { List<FileUpload> ful = uploadField.getFileUploads(); if (ful != null) { boolean clean = cleanWb.getModelObject(); for (FileUpload fu : ful) { FileItem f = new FileItem(); f.setSize(fu.getSize());//from www. java2s . c om f.setName(fu.getClientFileName()); f.setExternalType(room.getRoom().getExternalType()); BaseFileItem parent = roomFiles.getLastSelected(); if (parent == null || !(parent instanceof FileItem)) { f.setOwnerId(getUserId()); } else { f.setRoomId(parent.getRoomId()); f.setOwnerId(parent.getOwnerId()); f.setGroupId(parent.getGroupId()); if (parent.getId() != null) { f.setParentId(BaseFileItem.Type.Folder == parent.getType() ? parent.getId() : parent.getParentId()); } } f.setInsertedBy(getUserId()); try { ProcessResultList logs = processor.processFile(f, fu.getInputStream()); for (ProcessResult res : logs.getJobs()) { fileLogDao.add(res.getProcess(), f, res); } room.getSidebar().updateFiles(target); if (logs.hasError()) { form.error(getString("convert.errors.file")); } else { if (toWb.getModelObject()) { room.getWb().sendFileToWb(f, clean); clean = false; } } } catch (Exception e) { log.error("Unexpected error while processing uploaded file", e); form.error(e.getMessage() == null ? "Unexpected error" : e.getMessage()); } finally { fu.closeStreams(); fu.delete(); } } if (form.hasError()) { onError(target, null); } else { close(target, null); } } }
From source file:org.artifactory.common.wicket.panel.upload.FileUploadForm.java
License:Open Source License
@Override protected void onSubmit() { final FileUpload upload = fileUploadField.getFileUpload(); if (upload != null) { //Create a new file final String clientFileName = FilenameUtils.getName(upload.getClientFileName()); uploadedFile = new File(tempUploadsDir, clientFileName); //Check new file, delete if it already existed if (!removeFile(uploadedFile)) { error("File " + uploadedFile + " already exists and cannot be deleted !!"); uploadedFile = null;//from w w w. j a v a 2s . c om return; } try { //Save to a new file FileUtils.forceMkdir(tempUploadsDir); uploadedFile.createNewFile(); upload.writeTo(uploadedFile); listener.onFileSaved(uploadedFile); } catch (Exception e) { listener.onException(); removeUploadedFile(); throw new IllegalStateException( "Unable to write file to '" + tempUploadsDir.getAbsolutePath() + "'.", e); } finally { upload.closeStreams(); } } }
From source file:org.artifactory.common.wicket.panel.upload.LogoFileUploadForm.java
License:Open Source License
@Override protected void onSubmit() { final FileUpload upload = fileUploadField.getFileUpload(); if (upload != null) { //Create a new file final String clientFileName = FilenameUtils.getName(upload.getClientFileName()); uploadedFile = new File(tempUploadsDir, clientFileName); //Check new file, delete if it already existed if (!removeFile(uploadedFile)) { error("File " + uploadedFile + " already exists and cannot be deleted !!"); uploadedFile = null;// w w w . j a v a 2 s . c om return; } boolean isFakeImage; try { //Save to a new file FileUtils.forceMkdir(tempUploadsDir); uploadedFile.createNewFile(); upload.writeTo(uploadedFile); isFakeImage = isImageFake(); if (!isFakeImage) { listener.onFileSaved(uploadedFile); } else { removeUploadedFile(); error("The Uploaded File Contain a Non Valid Image Format"); } } catch (Exception e) { listener.onException(); removeUploadedFile(); throw new IllegalStateException( "Unable to write file to '" + tempUploadsDir.getAbsolutePath() + "'.", e); } finally { upload.closeStreams(); } } }
From source file:org.brixcms.plugin.site.resource.admin.UploadResourcesPanel.java
License:Apache License
private void processUploads() { final BrixNode parentNode = getModelObject(); for (final FileUpload upload : uploads) { final String fileName = upload.getClientFileName(); if (parentNode.hasNode(fileName)) { if (overwrite) { parentNode.getNode(fileName).remove(); } else { class ModelObject implements Serializable { @SuppressWarnings("unused") private String fileName = upload.getClientFileName(); }//from ww w. j av a 2 s.c om getSession().error(getString("fileExists", new Model<ModelObject>(new ModelObject()))); continue; } } BrixNode newNode = (BrixNode) parentNode.addNode(fileName, "nt:file"); try { // copy the upload into a temp file and assign that // output stream to the node File temp = File.createTempFile(Brix.NS + "-upload-" + UUID.randomUUID().toString(), null); Streams.copy(upload.getInputStream(), new FileOutputStream(temp)); upload.closeStreams(); String mime = upload.getContentType(); BrixFileNode file = BrixFileNode.initialize(newNode, mime); file.setData(file.getSession().getValueFactory().createBinary(new FileInputStream(temp))); file.getParent().save(); } catch (IOException e) { throw new IllegalStateException(e); } } SitePlugin.get().selectNode(this, parentNode, true); }
From source file:org.cast.cwm.data.component.MultipleFileUploadField.java
License:Open Source License
/** * @see org.apache.wicket.Component#onDetach() *//*from ww w. ja va 2 s .c o m*/ @Override protected void onDetach() { // cleanup any opened filestreams Collection<FileUpload> uploads = getConvertedInput(); if (uploads != null) { Iterator<FileUpload> it = uploads.iterator(); while (it.hasNext()) { final FileUpload upload = it.next(); upload.closeStreams(); } } // cleanup any caches inputArrayCache = null; // clean up the model because we don't want FileUpload objects in session Collection<FileUpload> modelObject = getModelObject(); if (modelObject != null) { modelObject.clear(); } super.onDetach(); }
From source file:org.dcm4chee.web.war.tc.TCDocumentsView.java
License:LGPL
public TCDocumentsView(final String id, IModel<? extends TCObject> model, final boolean editing) { super(id, model); this.editing = editing; final TCModalDialog removeDocDlg = TCModalDialog.getOkCancel("remove-doc-dialog", TCUtilities.getLocalizedString("tc.documents.removedialog.msg"), null); removeDocDlg.setInitialHeight(100);//w w w .jav a2s . c om removeDocDlg.setInitialWidth(420); removeDocDlg.setUseInitialHeight(true); final WebMarkupContainer items = new WebMarkupContainer("document-items"); items.setOutputMarkupId(true); items.add(new ListView<TCDocumentObject>("document-item", new ListModel<TCDocumentObject>() { @Override public List<TCDocumentObject> getObject() { return getTC().getReferencedDocumentObjects(); } }) { @Override protected void populateItem(final ListItem<TCDocumentObject> item) { final TCDocumentObject doc = item.getModelObject(); // compile text MimeType mimeType = doc.getMimeType(); Date addedDate = doc.getDocumentAddedDate(); String docDescription = doc.getDocumentDescription(); if (docDescription == null) { docDescription = doc.getDocumentName(); } StringBuilder sbuilder = new StringBuilder(); if (docDescription != null) { sbuilder.append(docDescription).append("\n"); } sbuilder.append("<i>"); sbuilder.append(mimeType.getDocumentType().getHumanReadableName()); sbuilder.append("; "); sbuilder.append(TCUtilities.getLocalizedString("tc.documents.addedon.text")).append(" "); sbuilder.append(DateFormat.getDateInstance(DateFormat.MEDIUM).format(addedDate)); sbuilder.append("</i>"); // add components final WebMarkupContainer actions = new WebMarkupContainer("document-item-actions"); actions.setOutputMarkupId(true); actions.setOutputMarkupPlaceholderTag(true); actions.add(new ResourceLink<Void>("document-item-download-btn", doc.getDocumentContent(true)) .add(new TCHoverImage("document-item-download-image", ImageManager.IMAGE_TC_DISK_MONO, ImageManager.IMAGE_TC_DISK) .add(new ImageSizeBehaviour(20, 20, "vertical-align: middle;")) .add(new TooltipBehaviour("tc.documents.", "download")))); actions.add(new AjaxLink<Void>("document-item-remove-btn") { @Override public void onClick(AjaxRequestTarget target) { try { if (editing) { removeDocDlg.setCallback(new ModalDialogCallbackAdapter() { @Override public void dialogAcknowledged(AjaxRequestTarget target) { getEditableTC().removeReferencedDocument(doc); target.addComponent(items); } }); removeDocDlg.show(target); } } catch (Exception e) { log.error("Removing referenced document from teaching-file failed!", e); } } @Override public boolean isVisible() { return editing; } }.add(new TCHoverImage("document-item-remove-image", ImageManager.IMAGE_TC_CANCEL_MONO, ImageManager.IMAGE_TC_CANCEL).add(new ImageSizeBehaviour(20, 20, "vertical-align: middle;")) .add(new TooltipBehaviour("tc.documents.", "remove")))); item.add(new AttributeModifier("onmouseover", true, new Model<String>("$('#" + actions.getMarkupId(true) + "').show();"))); item.add(new AttributeModifier("onmouseout", true, new Model<String>("$('#" + actions.getMarkupId(true) + "').hide();"))); item.add(new ResourceLink<Void>("document-item-view-link", doc.getDocumentContent(false)) .add(new NonCachingImage("document-item-image", doc.getDocumentThumbnail()) .add(new TCMaxImageSizeBehavior(32, 32).setAdditionalCSS("vertical-align:middle"))) .add(new TooltipBehaviour("tc.documents.", "view")) .add(new AttributeAppender("target", true, new Model<String>("_blank"), " "))); item.add(new MultiLineLabel("document-item-text", sbuilder.toString()) { @Override protected void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { final CharSequence body = Strings.toMultilineMarkup(getDefaultModelObjectAsString()); replaceComponentTagBody(markupStream, openTag, body.toString().replaceFirst("<p>", "<p style=\"margin:0px\">")); } }.setEscapeModelStrings(false)); item.add(actions); } }); final FileUploadField uploadField = new FileUploadField("file-upload-field") { @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); MimeType[] types = MimeType.values(); if (types != null && types.length > 0) { StringBuilder accept = new StringBuilder(); accept.append(types[0].getMimeTypeString()); for (int i = 1; i < types.length; i++) { accept.append(",").append(types[i].getMimeTypeString()); } tag.put("accept", accept.toString()); } } }; final long maxUploadSize = Bytes.megabytes(25).bytes(); final TextArea<String> uploadDescription = new TextArea<String>("file-upload-description-text", new Model<String>()); final Form<Void> uploadForm = new Form<Void>("file-upload-form"); uploadForm.setMultiPart(true); uploadForm.setMaxSize(Bytes.megabytes(25)); // seems that this doesn't work because of a bug in WICKET 1.4 uploadForm.add(new Label("file-upload-label", TCUtilities.getLocalizedString("tc.documents.upload.text"))); uploadForm.add(new Label("file-upload-description-label", TCUtilities.getLocalizedString("tc.documents.upload.description.text"))); uploadForm.add(uploadField); uploadForm.add(uploadDescription); uploadForm.add(new AjaxButton("file-upload-btn") { @Override public void onSubmit(AjaxRequestTarget target, Form<?> form) { final FileUpload upload = uploadField.getFileUpload(); if (upload != null) { String contentType = null, fileName = null; final long totalBytes = upload.getSize(); try { if (totalBytes > 0) { if (totalBytes <= maxUploadSize) { getEditableTC().addReferencedDocument( MimeType.get(contentType = upload.getContentType()), fileName = upload.getClientFileName(), upload.getInputStream(), uploadDescription.getModelObject()); } else { log.warn("File upload denied: Max upload size is " + maxUploadSize + " bytes!"); } } target.addComponent(items); } catch (Exception e) { log.error("Unable to upload teaching-file referenced document (content-type='" + contentType + "', file-name='" + fileName + "')!", e); } finally { upload.closeStreams(); uploadField.clearInput(); uploadDescription.clearInput(); uploadDescription.setModelObject(null); target.addComponent(uploadForm); } } } @Override public void onError(AjaxRequestTarget target, Form<?> form) { } @Override protected IAjaxCallDecorator getAjaxCallDecorator() { return new TCMaskingAjaxDecorator(true, true); } }.add(new Label("file-upload-btn-text", TCUtilities.getLocalizedString("tc.documents.upload.start.text")))); add(items); add(removeDocDlg); add(new WebMarkupContainer("file-upload") { @Override public boolean isVisible() { return editing; } }.add(new Image("file-upload-info-img", ImageManager.IMAGE_TC_INFO) { @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); StringBuilder sbuilder = new StringBuilder(); sbuilder.append( MessageFormat.format(TCUtilities.getLocalizedString("tc.documents.upload.maxsize.text"), Bytes.bytes(maxUploadSize).megabytes())); sbuilder.append("\n"); MimeType[] mimeTypes = MimeType.values(); if (mimeTypes != null) { boolean firstExt = true; int nExtPerLine = 8; int nExtInLine = 0; for (MimeType type : mimeTypes) { String[] exts = type.getSupportedFileExtensions(); if (exts != null) { for (String ext : exts) { String s = "*." + ext; if (firstExt) { sbuilder.append( TCUtilities.getLocalizedString("tc.documents.upload.files.text")); sbuilder.append("\n"); sbuilder.append(s); firstExt = false; nExtInLine++; } else { if (!sbuilder.toString().contains(s)) { if (nExtInLine == nExtPerLine) { sbuilder.append("\n"); nExtInLine = 0; } else { sbuilder.append(", "); } sbuilder.append(s); nExtInLine++; } } } } } } tag.put("title", sbuilder.toString()); } }.add(new ImageSizeBehaviour(16, 16, "vertical-align:middle;margin:5px;"))).add(uploadForm) .setMarkupId("documents-file-upload")); }
From source file:org.projectforge.plugins.teamcal.event.importics.TeamCalImportPage.java
License:Open Source License
protected void importEvents() { checkAccess();/*from w w w. j ava2s . co m*/ final FileUpload fileUpload = form.fileUploadField.getFileUpload(); if (fileUpload != null) { try { final InputStream is = fileUpload.getInputStream(); actionLog.reset(); final String clientFilename = fileUpload.getClientFileName(); final CalendarBuilder builder = new CalendarBuilder(); final Calendar calendar = builder.build(is); final ImportStorage<TeamEventDO> storage = teamCalImportDao.importEvents(calendar, clientFilename, actionLog); setStorage(storage); } catch (final Exception ex) { log.error(ex.getMessage(), ex); error("An error occurred (see log files for details): " + ex.getMessage()); clear(); } finally { fileUpload.closeStreams(); } } }