s3_direct_upload 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c8498cbc874d173965eda14055195f6e79899cad
|
4
|
+
data.tar.gz: 99c83432f1258e3c801001df3ecae08811277d7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e2d46240bd66f0363f1595ff793ca6a49f34f7e1dc5eb8be2bf134d1a652cb7eb1372cb7ea27087305af6b4c89f03263fb4c6aae876b7fbab57d4aadd5e0bda
|
7
|
+
data.tar.gz: e7cce42b04cdb3468f9500cf68103b3f8b82a3a795de65a251d7722d63f2a8f34cc3087a991e1cac1643c825efece57c589a356e30250f13d1a8515d2196c031
|
data/README.md
CHANGED
@@ -19,6 +19,7 @@ S3DirectUpload.config do |c|
|
|
19
19
|
c.secret_access_key = "" # your secret access key
|
20
20
|
c.bucket = "" # your bucket name
|
21
21
|
c.region = "" # region prefix of your bucket url (optional), eg. "s3-eu-west-1"
|
22
|
+
c.url = "" # S3 API endpoint (optional), eg. "https://#{c.bucket}.s3.amazonaws.com/"
|
22
23
|
end
|
23
24
|
```
|
24
25
|
|
@@ -57,6 +58,8 @@ Create a new view that uses the form helper `s3_uploader_form`:
|
|
57
58
|
<% end %>
|
58
59
|
```
|
59
60
|
|
61
|
+
Note: Its required that the file_field_tag is named 'file'.
|
62
|
+
|
60
63
|
Then in your application.js.coffee, call the S3Uploader jQuery plugin on the element you created above:
|
61
64
|
```coffeescript
|
62
65
|
jQuery ->
|
@@ -225,7 +228,7 @@ end
|
|
225
228
|
```
|
226
229
|
|
227
230
|
Alternately, if you'd prefer for S3 to delete your old uploads automatically, you can do
|
228
|
-
so by setting your bucket's
|
231
|
+
so by setting your bucket's
|
229
232
|
[Lifecycle Configuration](http://docs.aws.amazon.com/AmazonS3/latest/UG/LifecycleConfiguration.html).
|
230
233
|
|
231
234
|
## Contributing / TODO
|
@@ -59,21 +59,19 @@ $.fn.S3Uploader = (options) ->
|
|
59
59
|
done: (e, data) ->
|
60
60
|
content = build_content_object $uploadForm, data.files[0], data.result
|
61
61
|
|
62
|
-
|
63
|
-
if
|
62
|
+
callback_url = $uploadForm.data('callback-url')
|
63
|
+
if callback_url
|
64
64
|
content[$uploadForm.data('callback-param')] = content.url
|
65
65
|
|
66
66
|
$.ajax
|
67
67
|
type: $uploadForm.data('callback-method')
|
68
|
-
url:
|
68
|
+
url: callback_url
|
69
69
|
data: content
|
70
70
|
beforeSend: ( xhr, settings ) -> $uploadForm.trigger( 'ajax:beforeSend', [xhr, settings] )
|
71
71
|
complete: ( xhr, status ) -> $uploadForm.trigger( 'ajax:complete', [xhr, status] )
|
72
72
|
success: ( data, status, xhr ) -> $uploadForm.trigger( 'ajax:success', [data, status, xhr] )
|
73
73
|
error: ( xhr, status, error ) -> $uploadForm.trigger( 'ajax:error', [xhr, status, error] )
|
74
74
|
|
75
|
-
# $.post(to, content)
|
76
|
-
|
77
75
|
data.context.remove() if data.context && settings.remove_completed_progress_bar # remove progress bar
|
78
76
|
$uploadForm.trigger("s3_upload_complete", [content])
|
79
77
|
|
@@ -93,7 +91,7 @@ $.fn.S3Uploader = (options) ->
|
|
93
91
|
if "type" of @files[0]
|
94
92
|
fileType = @files[0].type
|
95
93
|
data.push
|
96
|
-
name: "
|
94
|
+
name: "content-type"
|
97
95
|
value: fileType
|
98
96
|
|
99
97
|
# substitute upload timestamp and unique_id into key
|
@@ -115,9 +113,17 @@ $.fn.S3Uploader = (options) ->
|
|
115
113
|
content.filesize = file.size if 'size' of file
|
116
114
|
content.filetype = file.type if 'type' of file
|
117
115
|
content.unique_id = file.unique_id if 'unique_id' of file
|
116
|
+
content.relativePath = build_relativePath(file) if has_relativePath(file)
|
118
117
|
content = $.extend content, settings.additional_data if settings.additional_data
|
119
118
|
content
|
120
119
|
|
120
|
+
has_relativePath = (file) ->
|
121
|
+
file.relativePath || file.webkitRelativePath
|
122
|
+
|
123
|
+
build_relativePath = (file) ->
|
124
|
+
file.relativePath || (file.webkitRelativePath.split("/")[0..-2].join("/") + "/" if file.webkitRelativePath)
|
125
|
+
|
126
|
+
|
121
127
|
#public methods
|
122
128
|
@initialize = ->
|
123
129
|
setUploadForm()
|
@@ -4,7 +4,7 @@ module S3DirectUpload
|
|
4
4
|
class Config
|
5
5
|
include Singleton
|
6
6
|
|
7
|
-
ATTRIBUTES = [:access_key_id, :secret_access_key, :bucket, :prefix_to_clean, :region]
|
7
|
+
ATTRIBUTES = [:access_key_id, :secret_access_key, :bucket, :prefix_to_clean, :region, :url]
|
8
8
|
|
9
9
|
attr_accessor *ATTRIBUTES
|
10
10
|
end
|
@@ -17,6 +17,7 @@ module S3DirectUpload
|
|
17
17
|
aws_secret_access_key: S3DirectUpload.config.secret_access_key,
|
18
18
|
bucket: S3DirectUpload.config.bucket,
|
19
19
|
region: S3DirectUpload.config.region || "s3",
|
20
|
+
url: S3DirectUpload.config.url,
|
20
21
|
ssl: true,
|
21
22
|
acl: "public-read",
|
22
23
|
expiration: 10.hours.from_now.utc.iso8601,
|
@@ -60,7 +61,7 @@ module S3DirectUpload
|
|
60
61
|
end
|
61
62
|
|
62
63
|
def url
|
63
|
-
"http#{@options[:ssl] ? 's' : ''}://#{@options[:region]}.amazonaws.com/#{@options[:bucket]}/"
|
64
|
+
@options[:url] || "http#{@options[:ssl] ? 's' : ''}://#{@options[:region]}.amazonaws.com/#{@options[:bucket]}/"
|
64
65
|
end
|
65
66
|
|
66
67
|
def policy
|
@@ -75,7 +76,7 @@ module S3DirectUpload
|
|
75
76
|
["starts-with", "$key", @options[:key_starts_with]],
|
76
77
|
["starts-with", "$x-requested-with", ""],
|
77
78
|
["content-length-range", 0, @options[:max_file_size]],
|
78
|
-
["starts-with","$
|
79
|
+
["starts-with","$content-type",""],
|
79
80
|
{bucket: @options[:bucket]},
|
80
81
|
{acl: @options[:acl]},
|
81
82
|
{success_action_status: "201"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
namespace :s3_direct_upload do
|
2
2
|
desc "Removes old uploads from specified s3 bucket/directory -- Useful when uploads are processed into another directory"
|
3
|
-
task :clean_remote_uploads do
|
3
|
+
task :clean_remote_uploads => :environment do
|
4
4
|
require 'thread'
|
5
5
|
require 'fog'
|
6
6
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: s3_direct_upload
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wayne Hoover
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|