HTMLでホームページを作る場合
<input type="file" name="input_file0" >のようにプログラムをうちファイルを選択するとこまでは実装できました。
やりたいことの流れ
選択したファイルをサーバーに送信
サーバーに送信したファイルをダウンロードしたい
ダウンロードしたファイルを任意で作ったフォルダにいれたい
自分で作成したHTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>tesuto(仮)</title> </head> <body> <form> <input type="file" name="input_file0" ><br> </form> </body> </html>「ファイルの中にアップロード」→「フォルダの中に」の間違い?
WEBページはどこにあるの?
ちょっと状況がおかしいですね。ホームページということはWebサーバー上で動作しているはずです。ファイル選択は自身のパソコン上から選択するはずです。アップロードはそのWebサーバーに対して行うものです。 >選択したファイルを自分のパソコン上のファイルの中にアップロードしたいのですが
すいません。自分が作成したHTML上でファイルを選択してアップロードしたファイルを自分が選択したフォルダにダウンロードできるようにしたいです。に
流れ。1ホームページでファイルを選択しアップロードする。
2.アップロードしたファイルを自分のローカル内のフォルダに追加していきたい
アップロードするファイルは自分のローカル内から選択するので、自分で動かせばいいような・・?なぜ、どのような背景で今回のような要件が発生したのでしょうか?
webでファイル提出BOXを作りたいので、提出されたファイルを同じフォルダに保存したいので、今回は簡易版を作ろうかと思い行なっております。
質問を編集して要件をきちんとかためてください。丸投げな上に場合によりプログラミングに関係ありません。同じLAN環境であれば共有フォルダ作ってそこに提出してもらえればいい話ですし、かけようと思えば個別にロックかけられますし。
それも考えたのですが、最終的には任意の時間でWI-fiに接続されていている機器だけが提出できるようにしたいです
(2回目)質問を編集して要件をきちんとかためてください。丸投げな上に場合によりプログラミングに関係ありません。
どこまでできているのでしょうか? サーバーは用意されていますか?
簡易サーバーはできております、ファイルを参照するところまでです
(3回目)質問を編集して要件をきちんとかためてください。 「簡易サーバー」と書いても誰にも分かりませんよ。具体名・バージョンなどなど環境情報を追記する必要があります。
アップロード機能を実現するにはサーバー側のプログラム(HTMLではなく)が動く必要があります。その設定はできているのでしょうか?
難しいんですね。アップロードしたファイルをダウンロードしたいだけなのですが。。l
# CGI モジュールを読み込む require "cgi" #// ----------------------------------------------------- #// 拡張子からアップロードを許すか調べる #// ----------------------------------------------------- def FileExtensionGetAllowUpload(ext) # アップロードを許可したい拡張子があればここに追加 allow_ext = ["bmp","gif","jpg","jpeg","png","zip"] allow_ext.each { |v| if (v == ext) then return true end } return false end #// ----------------------------------------------------- #// 文字列から拡張子を取得する(なければ nil) #// ----------------------------------------------------- def StringGetFileExtension(string) string = string.split(/(\\|\/)/)[-1] a = string.split(/(\.)/) if a.length > 1 then return a[-1] end return nil end # CGI オブジェクトを作成する query = CGI.new # 名前をキーにして Tempfile オブジェクトを取得する input_file = query["input_file"] # 拡張子を取得する file_ext = StringGetFileExtension(input_file.original_filename) # アップロード可能な拡張子であるか調べる if (FileExtensionGetAllowUpload(file_ext)) then # 現在の時間を取得する time_now = Time.now.tv_sec # 保存先のファイルパスを生成する(実戦運用する場合、排他処理を考慮して保存先のファイル名を生成する必要があります) $file_name_new = "./" + time_now.to_s + "." + file_ext # File オブジェクトを取得する open($file_name_new, "w") {|fh| # バイナリモードを使用する fh.binmode # 一時的なファイルを書きだす fh.write(input_file.read) } end
間違えました
まず依頼されたことやろうよ。
厳しいこと言いますが、”””人の話を聞かない”””質問者さんには難しいですね。おそらく何を言っても理解しないので。
申し訳ございません。ずっと苦しんでいたので
formで参照したファイルをサーバーに送信して、送信したファイルをダウンロードしたいと思ったのですがこれは難しいのですか??
せめて指摘・依頼されたことには応えてください。じゃないと何もアドバイスできません。(私はもうこれ以上スルーされるようだったらここには関わりたくないとすら感じています)せめて他の人にはそのように思わせないように注意してくださいね。
はい。ご指摘ありがとうございます。
アップロードしたファイルをダウンロードするなら、まずアップロードできるようにしなければなりません。HTMLの知識だけではできないので、サーバー側のプログラミング言語を覚えなくてはなりません。よくある機能なので入門書にはたいてい載っているかと思います……
そうなのですね、よくある機能なのでね、webで検索しても参照しか出でこないので調べ方が悪かったのですかね
回答4件
あなたの回答
tips
プレビュー