簡體   English   中英

使用Java的Dropbox Chooser從Dropbox選取文件后,如何將文件存儲在服務器中?

[英]How can I store the files in my server after picking the files from dropbox with the dropbox Chooser using java

我的網站上有一個表格。 表單允許用戶從本地計算機中選擇文件,或者從下拉框中選擇文件。 我知道如何從本地計算機上獲取文件,然后通過做一點PHP東西將其存儲在服務器中。

我對投幣箱進行了研究,發現他們做了一個叫做“選擇器-投幣箱”的東西。 (基本上,它是一個小的JavaScript組件,使我們的Web應用程序能夠從Dropbox獲取文件),而且我們可以將“ Chooser”集成到我們的網絡中,這一點非常令人驚奇。

但是我的問題是,在使用Dropbox的Chooser從Dropbox中選取文件后,我不知道如何將文件存儲在服務器中(我基本上想下載該文件並在從Chooser中選取文件后存儲在服務器中)。

這是DropBox希望我們將Java腳本放入Web中以進行Chooser的工作

<script type="text/javascript" src="https://www.dropbox.com/static/api/2/dropins.js" id="dropboxjs" data-app-key="YOUR_APP_KEY"></script>

從JavaScript觸發選擇器:

var button = Dropbox.createChooseButton(options);
document.getElementById("container").appendChild(button);

這是選項:

options = {

    // Required. Called when a user selects an item in the Chooser.
    success: function(files) {
        alert("Here's the file link: " + files[0].link)
    },

    cancel: function() {

    },

    linkType: "direct", // or "direct"

    multiselect: false, // or true

    extensions: ['.pdf', '.doc', '.docx'],
};

在成功的回調中,我有一個下載鏈接,該鏈接是我們從保管箱中選擇的。

我在前端和春季使用jquery作為后端。

將下載鏈接傳遞到Java端,我們可以將Dropbox文件下載到本地計算機,然后再次將其上傳到應用程序服務器。

但是有一種方法可以將其上傳到應用程序服務器,而無需將文件下載到本地計算機。

請幫我。

在成功塊中,我正在獲取文件下載鏈接。

 success: function(files) {
        alert("Here's the file link: " + files[0].link)
    }

再次使用ajax,我將此下載鏈接傳遞給spring controller,從controller到service class。

在使用以下代碼的服務類中,我們可以將文件保存到服務器路徑。

        File newFile = new File("here write server path");

        if(!newFile.exists()){
            URL url = new URL(downloadLink);
            ReadableByteChannel rbc = Channels.newChannel(url.openStream());
            FileOutputStream fos = new FileOutputStream(newFile);
            fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
            fos.close();
            rbc.close();
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM