`

upload文件上传,保存为文件

 
阅读更多
  1. import java.io.File;  
  2. import java.io.FileOutputStream;  
  3. import java.io.OutputStream;  
  4. import com.vaadin.terminal.FileResource;  
  5. import com.vaadin.ui.*;  
  6. public class MyUploader extends CustomComponent  
  7.                         implements Upload.SucceededListener,  
  8.                                    Upload.FailedListener,  
  9.                                    Upload.Receiver {  
  10.   
  11.     Panel root;         // Root element for contained components.  
  12.     Panel imagePanel;   // Panel that contains the uploaded image.  
  13.     File  file;         // File to write to.  
  14.   
  15.     MyUploader() {  
  16.         root = new Panel("My Upload Component");  
  17.         setCompositionRoot(root);  
  18.   
  19.         // Create the Upload component.  
  20.         final Upload upload =  
  21.                 new Upload("Upload the file here"this);  
  22.   
  23.         // Use a custom button caption instead of plain "Upload".  
  24.         upload.setButtonCaption("Upload Now");  
  25.   
  26.         // Listen for events regarding the success of upload.  
  27.         upload.addListener((Upload.SucceededListener) this);  
  28.         upload.addListener((Upload.FailedListener) this);  
  29.   
  30.         root.addComponent(upload);  
  31.         root.addComponent(new Label("Click 'Browse' to "+  
  32.                 "select a file and then click 'Upload'."));  
  33.   
  34.         // Create a panel for displaying the uploaded image.  
  35.         imagePanel = new Panel("Uploaded image");  
  36.         imagePanel.addComponent(  
  37.                          new Label("No image uploaded yet"));  
  38.         root.addComponent(imagePanel);  
  39.     }  
  40.   
  41.     // Callback method to begin receiving the upload.  
  42.     public OutputStream receiveUpload(String filename,  
  43.                                       String MIMEType) {  
  44.         FileOutputStream fos = null// Output stream to write to  
  45.         file = new File("/tmp/uploads/" + filename);  
  46.         try {  
  47.             // Open the file for writing.  
  48.             fos = new FileOutputStream(file);  
  49.         } catch (final java.io.FileNotFoundException e) {  
  50.             // Error while opening the file. Not reported here.  
  51.             e.printStackTrace();  
  52.             return null;  
  53.         }  
  54.   
  55.         return fos; // Return the output stream to write to  
  56.     }  
  57.   
  58.     // This is called if the upload is finished.  
  59.     public void uploadSucceeded(Upload.SucceededEvent event) {  
  60.         // Log the upload on screen.  
  61.         root.addComponent(new Label("File " + event.getFilename()  
  62.                 + " of type '" + event.getMIMEType()  
  63.                 + "' uploaded."));  
  64.           
  65.         // Display the uploaded file in the image panel.  
  66.         final FileResource imageResource =  
  67.                 new FileResource(file, getApplication());  
  68.         imagePanel.removeAllComponents();  
  69.         imagePanel.addComponent(new Embedded("", imageResource));  
  70.     }  
  71.   
  72.     // This is called if the upload fails.  
  73.     public void uploadFailed(Upload.FailedEvent event) {  
  74.         // Log the failure on screen.  
  75.         root.addComponent(new Label("Uploading "  
  76.                 + event.getFilename() + " of type '"  
  77.                 + event.getMIMEType() + "' failed."));  
  78.     }  
  79. }  
分享到:
评论

相关推荐

    Nginx+upload+lua实现简单文件上传服务

    创建一个处理文件上传的lua脚本,例如`upload_handler.lua`,这个脚本会接收Nginx传递的文件信息,并进行处理,如保存文件、验证文件大小和类型等。示例脚本可能如下: ```lua local function save_file(file) ...

    Tp3.2上传图片Upload文件

    在ThinkPHP 3.2中,Upload类位于`ThinkPHP/Library/Think`目录下,它提供了处理文件上传的基本方法。如果你遇到这个错误,这表明你的项目可能缺少了Upload类文件,或者Composer自动加载机制未正确配置。 要解决这个...

    upload上传文件代码

    在实际开发中,还可以使用第三方库如jQuery-File-Upload、Dropzone.js来简化文件上传操作,提供更丰富的功能,如多文件上传、进度条显示、拖拽上传等。 总之,上传文件代码涉及到前端与后端的交互,包括HTML、...

    jspupload文件上传

    创建一个支持文件上传的JSP页面,需要设置表单的enctype属性为"multipart/form-data",同时指定action属性指向处理文件上传的Servlet或JSP。 ```html <input type="file" name="fileToUpload" id="fileToUpload">...

    WEBUPLOAD大文件传送C# asp.net

    1. 浏览器限制:大多数浏览器对单个文件上传的大小有限制,通常为2MB到10MB。 2. 性能问题:大文件上传可能导致服务器负载增加,处理时间过长。 3. 用户体验:如果文件上传中断,用户可能需要重新开始整个过程。 三...

    ssm整合+ajaxUpload文件上传

    AjaxUpload则是实现异步文件上传的一种JavaScript库,它允许用户在不刷新整个页面的情况下进行文件上传,提高了用户体验。接下来,我们将详细讨论这两个知识点。 首先,**Spring** 是一个全面的后端应用框架,它...

    图片、文件上穿 uploadpicture 上传图片 uploadfile 上传文件 上传的图片可以盖文字或图片水印

    同时,为了提供良好的用户体验,文件上传进度的反馈、错误处理机制、多文件上传支持以及拖放功能都是常见的优化点。 总的来说,图片和文件上传是现代应用程序的基础部分,涉及前端交互、后端处理、文件存储和安全等...

    艾恩ASP_文件上传组件anupload

    艾恩ASP无组件上传组件(anupload)是一款专门为ASP环境设计的文件上传工具。该组件虽然自称为“无组件”,但实际上提供了丰富的功能与灵活性,使得在ASP环境下进行文件上传变得简单高效。 #### 主要特点与功能 - ...

    PHP文件上传类

    - 一个PHP文件上传类通常包含一系列的方法,如`upload()`用于执行实际的文件上传操作,`checkFileSize()`用于检查文件大小,`checkFileType()`用于验证文件类型,`renameFile()`用于重命名文件,以及`handleError()...

    ASP文件上传类UpLoadClass2.0

    ASP文件上传类UpLoadClass2.0是一款专为ASP(Active Server Pages)开发的文件上传组件,它使得在ASP环境中处理文件上传变得简单易行。ASP是一种微软公司的服务器端脚本语言,常用于构建动态网站和Web应用程序。...

    Nginx文件上传模块配置

    在本文中,我们将深入探讨如何配置Nginx以支持文件上传功能,特别是使用upload_module和upload_progress_module这两个第三方模块。Nginx是一个高效且灵活的HTTP服务器和反向代理,由Igor Sysoev开发,它支持模块化的...

    upload_上传文件_返回文件_

    这段描述提及的“upload_上传文件_返回文件_”很可能是某个功能或脚本的简要概述,用于帮助初学者理解如何在Python中处理文件上传及返回。下面将详细解释这一过程。 首先,我们需要了解文件上传的基本概念。在Web...

    java文件上传代码upload

    这个“java文件上传代码upload”项目显然关注如何在Java环境下处理文件上传操作。下面将详细介绍Java中实现文件上传的相关知识点。 一、Servlet API与multipart/form-data 在Java Web开发中,文件上传通常通过...

    一个简单实用的ASP文件上传组件

    在本例中,"AN-Upload"是这样一个组件,它采用ASP(Active Server Pages)编程语言实现,为开发者提供了简便的文件上传功能。 ASP是一种微软开发的服务器端脚本环境,用于创建动态交互式网页。使用ASP,开发者可以...

    Base64和AjaxUpload上传文件代码实例

    Base64和AjaxUpload上传文件代码实例是两种常用的文件上传方式,它们都可以实现文件上传到服务器端,但它们之间有着明显的区别。 Base64上传文件是一种基于文本编码的上传方式,它将文件转换为Base64字符串,然后将...

    Fancy Upload + ASP.NET 大文件上载

    总之,"Fancy Upload + ASP.NET 大文件上载"是一个综合性的解决方案,结合了前端的用户体验优化和后端的高效处理能力,为用户提供了稳定、安全的大型文件上传功能。开发者可以通过学习和应用这个例子,提升自己在...

    php文件上传类库:upload上传类,支持图片,文件以及base64编码图片.zip

    本篇文章将详细介绍一个名为"Upload"的PHP文件上传类库,该类库特别之处在于它不仅支持普通文件和图片的上传,还支持Base64编码的图片上传。 1. **Upload类库概述** Upload类库是一个为PHP设计的强大文件上传工具...

Global site tag (gtag.js) - Google Analytics