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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Sinatra

Sinatraは、Rubyで作られた オープンソースのWebアプリケーションフレームワークです。

Q&A

0回答

623閲覧

ruby Sinatraでword・pdfファイルのアップロード機能を実装したい

yamamoto12

総合スコア18

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Sinatra

Sinatraは、Rubyで作られた オープンソースのWebアプリケーションフレームワークです。

0グッド

1クリップ

投稿2019/03/04 15:55

前提・実現したいこと

私はruby sinatraを最近になって勉強し始めた初心者です。
現在、教材学習の一環で画像アップロード機能を実装したことを機に自主作品としてruby sinatraでファイル共有サイトを構築しようとしています。

しかし、以下の内容について分かっておらず、実装に漕ぎ着けていません。

①実現可能性として初学者でも実装できるのか
②image_uploader機能の応用でも十分実装可能なのか
③ファイルアップロード機能を実装するにはどうすればいいのか

どうすればファイルアップロード機能を実装できるのか、もしよろしければ教えてください。

②に関する該当ソースコード

ruby

1def image_upload(img) 2 logger.info "upload now" 3 tempfile = img[:tempfile] 4 5 upload = Cloudinary::Uploader.upload(tempfile.path) 6 7 contents = User.last 8 9 contents.update_attribute(:img, upload['url']) 10end 11 12def image_upload_local(img) 13 if img 14 contents = Contribution.last 15 id = contents.id 16 logger.info img 17 ext = File.extname(img[:filename]) 18 img_name = "#{id}-bbs#{ext}" 19 p "="*20 20 logger.info ext 21 img_path = "/images/bbs/#{img_name}" 22 contents.update_attribute(:img, img_path) 23 24 save_path = File.join('public', 'images', 'bbs', img_name) 25 26 File.open(save_path, 'wb') do |f| 27 logger.info "Temp file: #{img[:tempfile]}" 28 f.write img[:tempfile].read 29 logger.info 'アップロード成功' 30 end 31 else 32 logger.info 'アップロード失敗' 33 end 34end

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yamamoto12

2019/03/08 17:48

ありがとうございます。 参考にしてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問