質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.95%

ローカルからネットワークストレージへのファイルコピー(java)

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 678

score 13

 前提・実現したいこと

WEBアプリケーションを開発しているのですが、
ローカルからネットワークストレージへフォルダをコピーまたは作成したい次第です。
ネットワークストレージはteracloudです

以下のコードを実行しても、エラーも何も起きません。

isの中身をでバックで確認しましたが、文字化け?でなんか色々入っているように見えます。

Path path = Paths.get("ローカルフォルダの場所");
URL url = new URL("https://xxxx/yy/");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setDoOutput(true);
OutputStream is = conn.getOutputStream();
conn.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString("xxxxxx:xxxxxx".getBytes()));

Files.copy(path, is);

すみませんが、お知恵をお貸しください。

WEBアプリに画像をアップロードして、それをネットワークストレージに
保存したいということです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

WebDAVに対応したクライアントソフトは使えますか?

TeraCLOUDはWebDAVが使えるみたいですので、
WebDAVライブラリを取り込んでやればファイル送信出来るんじゃないでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/10/18 11:19

    ファイルの配置はできるんですが、問題は、フォルダを動的に作るところなんですよねぇ。。。

    キャンセル

  • 2018/10/18 11:32

    webdav仕様はディレクトリ作成(コレクション作成MKCOL)も対応してます。
    ライブラリやサーバが対応してるかは分かりませんが。

    キャンセル

  • 2018/10/18 19:39

    あらかじめ、ネットワークストレージにドライブを割り当てておき、またローカルにバッチを置き、そこからそのドライブ配下にフォルダを作成する処理を記載することで解決しました。
    質問に丁寧に答えていただきありがとうございました。

    キャンセル

+1

何も反応がないのではなく、どっかで例外が発生しても潰すようになっているのではないでしょうか?
https://qiita.com/jkr_2255/items/c335566aeb748c61e931

teracloudについて詳しくないですが、teracloud側のAPIを参考にした方が良さそうです。
直接ファイルを置けるとは思いません。

awsのS3の場合は以下のような資料があるのでそれに該当するteracloud版を探す必要がかるかと思います。
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/UploadObjSingleOpJava.html

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/10/18 11:18

    ファイルに関しては、okhttpのライブラリを使って、配置することが可能でした。
    以下のページを参考にしました。↓

    https://vjedogonia.blogspot.com/2018/01/webdavput.html?m=1

    ただフォルダを指定するオプションがないようで、この方法では配置できそうにもありません。

    私の使っているwebアプリで画像をただ乱雑に配置するより、ユーザー毎にフォルダを作ってそこに画像データを入れ込むというのが整理できていて、いいんじゃないかと思って、フォルダを動的に作る必要が出て来た次第です。

    キャンセル

  • 2018/10/18 19:40

    あらかじめ、ネットワークストレージにドライブを割り当てておき、またローカルにバッチを置き、そこからそのドライブ配下にフォルダを作成する処理を記載することで解決しました。
    質問に丁寧に答えていただきありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.95%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る