HTTPサーバ(WebDAV)にファイルをアップロードとダウンロード(あるいは開く)
の操作はCURL7.0で実現できますか、ご存知の方はいらっしゃいますでしょうか。
教えていただけませんか。よろしくお願いします。
HTTPサーバにファイルをアップロードとダウンロード
HttpFileクラス のhttp-read-open-byteメソッドを使って、POST(引数にrequest-method = HttpRequestMethod.post)でデータ(引数request-dataにファイルデータをセット)をサーバに送信し、サーバサイドではJakarta commonsのUploadFile などを使って受信する実装することで、HTTPサーバにファイルを送信することができます。
ちなみに、イメージのようなバイナリファイルでなく、テキストファイルであればhttp-read-openメソッドを利用することで実現できます。
ちなみに、イメージのようなバイナリファイルでなく、テキストファイルであればhttp-read-openメソッドを利用することで実現できます。
ご回答をいただきありがとうございます。
CURLは直接にHttpサーバに接続して操作できませんか?
(普通なupload/dowand/open操作です)
よろしくお願いします。
CURLは直接にHttpサーバに接続して操作できませんか?
(普通なupload/dowand/open操作です)
よろしくお願いします。
他のAjaxなどと同様に、HTTPでファイルアップロードはサーバサイドの作りこみが少々必要となってきます。
ダウンロードなどについては可能です。(http-read-open(-byte)メソッドの戻り値InputStreamを利用。)
よろしくお願いいたします。
ダウンロードなどについては可能です。(http-read-open(-byte)メソッドの戻り値InputStreamを利用。)
よろしくお願いいたします。
ちなみに、WebDavを使う場合は、CurlでWebDavプロトコルを実装する必要がありそうです。
よろしくお願いいたします。
よろしくお願いいたします。
お世話になります。
HttpFormのadd-file(add-file-data)メソッドで実現できますか。
もしできれば、教えていただきますと幸いです。
よろしくお願いします。
HttpFormのadd-file(add-file-data)メソッドで実現できますか。
もしできれば、教えていただきますと幸いです。
よろしくお願いします。
ちょっと無理そうですね。WebDAVのプロトコルには、HttpRequestMethod.putが必要ですが、それが、http-read-openやHttpFormなどで実装されて無く、今後の機能拡張に期待したいところでしょうね。。。
> HttpFormのadd-file(add-file-data)メソッドで実現できますか。
これでファイルをサーバに送ることはできると思います。(試していないですが・・・)
ただ、サーバ側でアップロードしたファイルを受け取る処理はやっぱりコーディングしないといけないです。
例えばJavaであれば以下のUploadServlet.java程度です。
http://www.atmarkit.co.jp/fjava/javatips...ta018.html
これでファイルをサーバに送ることはできると思います。(試していないですが・・・)
ただ、サーバ側でアップロードしたファイルを受け取る処理はやっぱりコーディングしないといけないです。
例えばJavaであれば以下のUploadServlet.java程度です。
http://www.atmarkit.co.jp/fjava/javatips...ta018.html
HttpRequestMethod.putはHttpFormで対応してないですが、http-read-openなどで実装されているそうです。hokadaさんが言ったようにサーバサイドを介入せずにやりたければ、webDAVのプロトコルを実装する必要があるようですね。
大変失礼しました。
大変失礼しました。
(02-29-2012, 06:04 PM)heavybugtracker Wrote: ちょっと無理そうですね。WebDAVのプロトコルには、HttpRequestMethod.putが必要ですが、それが、http-read-openやHttpFormなどで実装されて無く、今後の機能拡張に期待したいところでしょうね。。。
ご回答をありがとうございます。
「ネットワークドライブの割り当て」を利用して、HTTPのURLをローカルドライブに変更して、
{copy from:Url, to:Url, error-if-exists?:bool = true, recurse?:bool = false}(プロシージャ)
を使って、ローカルのファイルコピーようにHTTPサーバーにファイルコピーできますか。
「ネットワークドライブの割り当て」を利用して、HTTPのURLをローカルドライブに変更して、
{copy from:Url, to:Url, error-if-exists?:bool = true, recurse?:bool = false}(プロシージャ)
を使って、ローカルのファイルコピーようにHTTPサーバーにファイルコピーできますか。
RFC2518はWebDAVのオフィシャル文書ですので、一番信頼のできる資料でしょう。次のリンクに日本語訳があるうえ、Apacheなどの関連資料も載っています。
http://webdav.todo.gr.jp/download/
http://webdav.todo.gr.jp/download/
You will need to implement a HttpRequestData subclass that returns the data to be sent from HttpRequestData.request-data. You can use that with a PUT request (HttpRequestMethod.put). Full WEBDAV includes lots of methods that are not in the HttpRequestMethod enum, so you will not be able to implement things that require those methods unless you re-implement things with DataTCPSocket.