Commit 8c6ad9e0 by tady

s3 file upload

parent d8faedf1
...@@ -8,8 +8,8 @@ $.extend ...@@ -8,8 +8,8 @@ $.extend
settings.$input.fileupload settings.$input.fileupload
dataType: 'json' dataType: 'json'
done: (e, data) -> done: (e, data) ->
$.each data.result.urls, (index, url) -> $.each data.result.files, (index, _file) ->
settings.$textarea.val(settings.$textarea.val() + "![](" + url + ")\n") settings.$textarea.val(settings.$textarea.val() + "![" + _file.name + "](" + _file.url + ")\n")
settings.$textarea.trigger("change") settings.$textarea.trigger("change")
# $('<p/>').text(file.name).appendTo('#files') # TODO # $('<p/>').text(file.name).appendTo('#files') # TODO
progressall: (e, data) -> progressall: (e, data) ->
......
require 'digest/md5'
class ApisController < ApplicationController class ApisController < ApplicationController
# TODO: not to use # TODO: not to use
...@@ -11,22 +13,23 @@ class ApisController < ApplicationController ...@@ -11,22 +13,23 @@ class ApisController < ApplicationController
def file_receiver def file_receiver
s3 = AWS::S3.new s3 = AWS::S3.new
bucket = s3.buckets[Settings.s3.bucket_name] bucket_name = "#{Settings.s3.bucket_name}/1/#{current_user.id}"
# bucket_name = "1/#{current_user.id}"
bucket = s3.buckets[bucket_name]
s3_file_urls = [] s3_files = []
params[:files].each do |file| params[:files].each do |file|
basename = File.basename(file.path) basename = File.basename(file.path)
o = bucket.objects[basename]
out = o.write(:file => file.path)
# TODO rename file name
# http://soplana.hateblo.jp/entry/%E2%96%A0 object_file_name = "#{Digest::MD5.file(file.path).to_s}#{File.extname(file.original_filename)}"
obj = bucket.objects[object_file_name]
res = obj.write(file: file.path, acl: :public_read)
s3_file_urls << out.url_for(:read).to_s s3_files << { name: file.original_filename, url: res.public_url.to_s }
end end
render json: { status: 'OK', urls: s3_file_urls } render json: { status: 'OK', files: s3_files }
end end
end end
...@@ -42,12 +42,15 @@ ...@@ -42,12 +42,15 @@
</div> </div>
<div class="col-xs-4"> <div class="col-xs-4">
<div class="mod-fileuploader-box">
<!--
<div class="mod-fileuploader-box">
<div id="progress" class="progress" style="width: 100%"> <div id="progress" class="progress" style="width: 100%">
<div class="progress-bar progress-bar-success"></div> <div class="progress-bar progress-bar-success"></div>
</div> </div>
<div id="files" class="files">Uploads file here...</div> <div id="files" class="files">Uploads file here...</div>
</div> </div>
-->
</div> </div>
</div><!-- /.row --> </div><!-- /.row -->
......
AWS.config( AWS.config(
:access_key_id => Settings.s3.access_key_id, access_key_id: Settings.s3.access_key_id,
:secret_access_key => Settings.s3.secret_access_key) secret_access_key: Settings.s3.secret_access_key,
s3_endpoint: "s3-ap-northeast-1.amazonaws.com"
)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment