2016-03-29 66 views
0

非常に新しいVaadinです。 Githubやその他のドキュメントを調べて、Spring Security、Vaadin、Mavenを使用してプロジェクトを設定しています。ファイルのアップロードとダウンロード:

私は春のセキュリティプロジェクトでサンプルのvaadin-mavenを作成しました。ログインページが表示され、ログインが成功した後、MainView.javaを取得しています。

アップロードする.xlsファイルを変更してそのファイルを読み込み、いくつかの機能を実行してからポップアップをダウンロードしようとしています。

私はhttp://demo.vaadin.com/sampler/#ui/data-input/other/uploadですが、エラーがあります。私の出力を再現することができません。

今のところ、パス "final String FILE_PATH =" F://input.xls ";"を使用してファイルを読み取ることができます。しかし、私はファイルをアップロードして、そのファイルをさらに機能させるためのオプションが必要です。

機能が完了したら、ファイルをダウンロードする必要があります。

私はどのようにファイルを閲覧し、アップロードしたファイルを使用していくつかの読み書き操作を行ってから、Vaadinをダウンロードすることができます。

これには眠れない夜があります。どのように私はこれから来ることができます私に示唆してください。

大きな
@Component 
@Scope("prototype") 
@VaadinView(RoleAdminView.NAME) 
@Secured("ROLE_ADMIN") 
public class RoleAdminView extends Panel implements View 
{ 
    public static final String NAME = "role_admin"; 

@PostConstruct 
public void PostConstruct() 
{ 
    LoggerFactory.getLogger(this.getClass()).debug("POST"); 
    setSizeFull(); 
    VerticalLayout layout = new VerticalLayout(); 
    layout.setSpacing(true); 
    layout.setMargin(true); 
    layout.addComponent(new Button()); 
    layout.addComponent(new Label("ROLE_ADMIN")); 
    layout.addComponent(new Link("Go back", new ExternalResource("#!" + 
    MainView.NAME))); 

    setContent(layout); 
    } 

    @Override 
    public void enter(ViewChangeListener.ViewChangeEvent event) 
     { 
    } 
    } 

は、事前にあなたに感謝: はここに私のコードです。あなたたちは私の問題を整理ホープ:)

+0

を:)この私の助けがアップロードを処理するためのコードを表示してください願っています。処理のためにファイルサーバーを保管する必要があります。それがメモリ内にあるか、一時ファイルにあるかどうかは、あなたの必要条件に依存します。 –

+0

@AndréSchildにお返事ありがとうございます。 vaadinでアップロードされたファイルをどのように扱うかわかりません。私はちょうどroot.addComponent(新しいアップロード());を作成しました。私はここにこだわった。私はさらに移動することができません:( – user3599302

+0

http://demo.vaadin.com/sampler/#ui/data-input/other/uploadソースを使用してコードを追加しました。lineBreakerなどでエラーが発生しました。 @AndréSchild:( – user3599302

答えて

1

あなたが行うことができ、

public class RoleAdminView extends Panel implements View{ 

//add a button view 
// 
    @Override 
public void uploadFailed(Upload.FailedEvent event) { 
    Notification.show(event.getFilename() + "----" + event.getMIMEType()); 
    //here it will show the error if upload failed 
} 

@Override 
public void uploadSucceeded(SucceededEvent event) { 
/// do your functionlity 
} 
    @Override 
public OutputStream receiveUpload(String filename, String mimeType) { 
    FileOutputStream fos = null; 
    // do your functionality to save in any path or server path 
    return fos; // Return the output stream to write to 
} 

} 

私はあなたが

+0

ありがとう...私はこれをチェックします... :) – user3599302

関連する問題