Module: Qiniu::RS::UP

Extended by:
Utils
Defined in:
lib/qiniu/rs/up.rb

Defined Under Namespace

Modules: AbstractClass Classes: BlockProgressNotifier, ChunkProgressNotifier, FileData, TmpData

Constant Summary collapse

PROGRESS_TMP_FILE =
'progresses'
CHECKSUM_TMP_FILE =
'ctxes'

Class Method Summary collapse

Methods included from Utils

crc32checksum, debug, encode_entry_uri, generate_qbox_signature, generate_query_string, http_request, is_response_ok?, response_error, safe_json_parse, send_request_with, upload_multipart_data, urlsafe_base64_decode, urlsafe_base64_encode

Class Method Details

.upload_with_token(uptoken, local_file, bucket, key = nil, mime_type = nil, custom_meta = nil, customer = nil, callback_params = nil, rotate = nil) ⇒ Object



94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/qiniu/rs/up.rb', line 94

def upload_with_token(uptoken,
                      local_file,
                      bucket,
                      key = nil,
                      mime_type = nil,
                      custom_meta = nil,
                      customer = nil,
                      callback_params = nil,
                      rotate = nil)
  begin
    ifile = File.open(local_file, 'rb')
    fh = FileData.new(ifile)
    fsize = fh.data_size
    key = Digest::SHA1.hexdigest(local_file + fh.mtime.to_s) if key.nil?
    if mime_type.nil? || mime_type.empty?
      mime = MIME::Types.type_for local_file
      mime_type = mime.empty? ? 'application/octet-stream' : mime[0].content_type
    end
    code, data = _resumable_upload(uptoken, fh, fsize, bucket, key, mime_type, custom_meta, customer, callback_params, rotate)
    [code, data]
  ensure
    ifile.close unless ifile.nil?
  end
end