HTTPサーバにファイルをアップロードとダウンロード - Printable Version +- Curl Global Community (https://communities.curl.com) +-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1) +--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2) +--- Thread: HTTPサーバにファイルをアップロードとダウンロード (/showthread.php?tid=416) Pages:
1
2
|
HTTPサーバにファイルをアップロードとダウンロード - zrllch - 02-28-2012 HTTPサーバ(WebDAV)にファイルをアップロードとダウンロード(あるいは開く) の操作はCURL7.0で実現できますか、ご存知の方はいらっしゃいますでしょうか。 教えていただけませんか。よろしくお願いします。 RE: HTTPサーバにファイルをアップロードとダウンロード - hokada - 02-28-2012 HttpFileクラス のhttp-read-open-byteメソッドを使って、POST(引数にrequest-method = HttpRequestMethod.post)でデータ(引数request-dataにファイルデータをセット)をサーバに送信し、サーバサイドではJakarta commonsのUploadFile などを使って受信する実装することで、HTTPサーバにファイルを送信することができます。 ちなみに、イメージのようなバイナリファイルでなく、テキストファイルであればhttp-read-openメソッドを利用することで実現できます。 RE: HTTPサーバにファイルをアップロードとダウンロード - zrllch - 02-28-2012 ご回答をいただきありがとうございます。 CURLは直接にHttpサーバに接続して操作できませんか? (普通なupload/dowand/open操作です) よろしくお願いします。 RE: HTTPサーバにファイルをアップロードとダウンロード - hokada - 02-29-2012 他のAjaxなどと同様に、HTTPでファイルアップロードはサーバサイドの作りこみが少々必要となってきます。 ダウンロードなどについては可能です。(http-read-open(-byte)メソッドの戻り値InputStreamを利用。) よろしくお願いいたします。 RE: HTTPサーバにファイルをアップロードとダウンロード - hokada - 02-29-2012 ちなみに、WebDavを使う場合は、CurlでWebDavプロトコルを実装する必要がありそうです。 よろしくお願いいたします。 RE: HTTPサーバにファイルをアップロードとダウンロード - zrllch - 02-29-2012 お世話になります。 HttpFormのadd-file(add-file-data)メソッドで実現できますか。 もしできれば、教えていただきますと幸いです。 よろしくお願いします。 RE: HTTPサーバにファイルをアップロードとダウンロード - heavybugtracker - 02-29-2012 ちょっと無理そうですね。WebDAVのプロトコルには、HttpRequestMethod.putが必要ですが、それが、http-read-openやHttpFormなどで実装されて無く、今後の機能拡張に期待したいところでしょうね。。。 RE: HTTPサーバにファイルをアップロードとダウンロード - hokada - 03-01-2012 > HttpFormのadd-file(add-file-data)メソッドで実現できますか。 これでファイルをサーバに送ることはできると思います。(試していないですが・・・) ただ、サーバ側でアップロードしたファイルを受け取る処理はやっぱりコーディングしないといけないです。 例えばJavaであれば以下のUploadServlet.java程度です。 http://www.atmarkit.co.jp/fjava/javatips/106jakarta018.html RE: HTTPサーバにファイルをアップロードとダウンロード - heavybugtracker - 03-01-2012 HttpRequestMethod.putはHttpFormで対応してないですが、http-read-openなどで実装されているそうです。hokadaさんが言ったようにサーバサイドを介入せずにやりたければ、webDAVのプロトコルを実装する必要があるようですね。 大変失礼しました。 (02-29-2012, 06:04 PM)heavybugtracker Wrote: ちょっと無理そうですね。WebDAVのプロトコルには、HttpRequestMethod.putが必要ですが、それが、http-read-openやHttpFormなどで実装されて無く、今後の機能拡張に期待したいところでしょうね。。。 RE: HTTPサーバにファイルをアップロードとダウンロード - zrllch - 03-02-2012 ご回答をありがとうございます。 「ネットワークドライブの割り当て」を利用して、HTTPのURLをローカルドライブに変更して、 {copy from:Url, to:Url, error-if-exists?:bool = true, recurse?:bool = false}(プロシージャ) を使って、ローカルのファイルコピーようにHTTPサーバーにファイルコピーできますか。 |