Post Reply 
 
Thread Rating:
  • 396 Votes - 2.72 Average
  • 1
  • 2
  • 3
  • 4
  • 5
HTTPサーバにファイルをアップロードとダウンロード
02-28-2012, 09:25 AM
Post: #1
HTTPサーバにファイルをアップロードとダウンロード
HTTPサーバ(WebDAV)にファイルをアップロードとダウンロード(あるいは開く)
の操作はCURL7.0で実現できますか、ご存知の方はいらっしゃいますでしょうか。
教えていただけませんか。よろしくお願いします。
Find all posts by this user
Quote this message in a reply
02-28-2012, 03:42 PM (This post was last modified: 02-28-2012 03:43 PM by hokada.)
Post: #2
RE: HTTPサーバにファイルをアップロードとダウンロード
HttpFileクラス のhttp-read-open-byteメソッドを使って、POST(引数にrequest-method = HttpRequestMethod.post)でデータ(引数request-dataにファイルデータをセット)をサーバに送信し、サーバサイドではJakarta commonsのUploadFile などを使って受信する実装することで、HTTPサーバにファイルを送信することができます。

ちなみに、イメージのようなバイナリファイルでなく、テキストファイルであればhttp-read-openメソッドを利用することで実現できます。
Find all posts by this user
Quote this message in a reply
02-28-2012, 06:05 PM (This post was last modified: 02-29-2012 09:47 AM by zrllch.)
Post: #3
RE: HTTPサーバにファイルをアップロードとダウンロード
ご回答をいただきありがとうございます。
CURLは直接にHttpサーバに接続して操作できませんか?
(普通なupload/dowand/open操作です)
よろしくお願いします。
Find all posts by this user
Quote this message in a reply
02-29-2012, 11:48 AM
Post: #4
RE: HTTPサーバにファイルをアップロードとダウンロード
他のAjaxなどと同様に、HTTPでファイルアップロードはサーバサイドの作りこみが少々必要となってきます。

ダウンロードなどについては可能です。(http-read-open(-byte)メソッドの戻り値InputStreamを利用。)

よろしくお願いいたします。
Find all posts by this user
Quote this message in a reply
02-29-2012, 11:56 AM (This post was last modified: 02-29-2012 11:57 AM by hokada.)
Post: #5
RE: HTTPサーバにファイルをアップロードとダウンロード
ちなみに、WebDavを使う場合は、CurlでWebDavプロトコルを実装する必要がありそうです。

よろしくお願いいたします。
Find all posts by this user
Quote this message in a reply
02-29-2012, 03:28 PM
Post: #6
RE: HTTPサーバにファイルをアップロードとダウンロード
お世話になります。
HttpFormのadd-file(add-file-data)メソッドで実現できますか。
もしできれば、教えていただきますと幸いです。
よろしくお願いします。
Find all posts by this user
Quote this message in a reply
02-29-2012, 06:04 PM
Post: #7
RE: HTTPサーバにファイルをアップロードとダウンロード
ちょっと無理そうですね。WebDAVのプロトコルには、HttpRequestMethod.putが必要ですが、それが、http-read-openやHttpFormなどで実装されて無く、今後の機能拡張に期待したいところでしょうね。。。
Find all posts by this user
Quote this message in a reply
03-01-2012, 11:42 AM
Post: #8
RE: HTTPサーバにファイルをアップロードとダウンロード
> HttpFormのadd-file(add-file-data)メソッドで実現できますか。


これでファイルをサーバに送ることはできると思います。(試していないですが・・・)
ただ、サーバ側でアップロードしたファイルを受け取る処理はやっぱりコーディングしないといけないです。

例えばJavaであれば以下のUploadServlet.java程度です。
http://www.atmarkit.co.jp/fjava/javatips...ta018.html
Find all posts by this user
Quote this message in a reply
03-01-2012, 01:40 PM
Post: #9
RE: HTTPサーバにファイルをアップロードとダウンロード
HttpRequestMethod.putはHttpFormで対応してないですが、http-read-openなどで実装されているそうです。hokadaさんが言ったようにサーバサイドを介入せずにやりたければ、webDAVのプロトコルを実装する必要があるようですね​。
大変失礼しました。
(02-29-2012 06:04 PM)heavybugtracker Wrote:  ちょっと無理そうですね。WebDAVのプロトコルには、HttpRequestMethod.putが必要ですが、それが、http-read-openやHttpFormなどで実装されて無く、今後の機能拡張に期待したいところでしょうね。。。
Find all posts by this user
Quote this message in a reply
03-02-2012, 02:19 PM
Post: #10
RE: HTTPサーバにファイルをアップロードとダウンロード
ご回答をありがとうございます。
「ネットワークドライブの割り当て」を利用して、HTTPのURLをローカルドライブに変更して、
{copy from:Url, to:Url, error-if-exists?:bool = true, recurse?:bool = false}(プロシージャ)
を使って、ローカルのファイルコピーようにHTTPサーバーにファイルコピーできますか。
Find all posts by this user
Quote this message in a reply
Post Reply 

Forum Jump:


User(s) browsing this thread:
1 Guest(s)