• 关于

    上传不了文件

    的搜索结果

回答

感觉,你上传文件成功了,应该是位置不对,所以看不到,你要想上传多文件可以使用OSS的SDK多文件上传的时候可以先生成一个文件路径列表,遍历列表文件上传 只把第一个文件上传多次,建议你发下代码,我找到了upload.js的脚本oss-h5-upload-js-php这个工具页面默认支持单文件上传,不支持多文件

浮夸点点 2019-12-02 00:08:36 0 浏览量 回答数 0

问题

JS文件上传到OSS的问题

新华龙 2019-12-01 19:07:23 68 浏览量 回答数 1

回答

详细解答可以参考官方帮助文档上传文件(Object)OSS Ruby SDK提供了丰富的文件上传接口,用户可以通过以下方式向OSS中上传文件: 上传本地文件到OSS流式上传断点续传上传追加上传上传回调 上传本地文件通过Bucket#put_object接口,并指定:file参数来上传一个本地文件到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object', :file => 'local-file') 流式上传在进行大文件上传时,往往不希望一次性处理全部的内容然后上传,而是希望流式地处理,一次上传一部分内容。甚至如果要上传的内容本身就来自网络,不能一次获取,那只能流式地上传。通过Bucket#put_object接口,并指定block参数来将流式生成的内容上传到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object') do |stream| 100.times { |i| stream << i.to_s }end 断点续传上传当上传大文件时,如果网络不稳定或者程序崩溃了,则整个上传就失败了。用户不得不重头再来,这样做不仅浪费资源,在网络不稳定的情况下,往往重试多次还是无法完成上传。通过Bucket#resumable_upload接口来实现断点续传上传。它有以下参数: key 上传到OSS的Object名字file 待上传的本地文件路径opts 可选项,主要包括: :cpt_file 指定checkpoint文件的路径,如果不指定则默认为与本地文件同目录下的file.cpt,其中file是本地文件的名字:disable_cpt 如果指定为true,则上传过程中不会记录上传进度,失败后也无法进行续传:part_size 指定每个分片的大小,默认为4MB&block 如果调用时候传递了block,则上传进度会交由block处理 详细的参数请参考API文档。 其实现的原理是将要上传的文件分成若干个分片分别上传,最后所有分片都上传成功后,完成整个文件的上传。在上传的过程中会记录当前上传的进度信息(记录在checkpoint文件中),如果上传过程中某一分片上传失败,再次上传时会从checkpoint文件中记录的点继续上传。这要求再次调用时要指定与上次相同的checkpoint文件。上传完成后,checkpoint文件会被删除。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.resumable_upload('my-object', 'local-file') do |p| puts "Progress: #{p}"endbucket.resumable_upload( 'my-object', 'local-file', :part_size => 100 * 1024, :cpt_file => '/tmp/x.cpt') { |p| puts "Progress: #{p}"} 注意: SDK会将上传的中间状态信息记录在cpt文件中,所以要确保用户对cpt文件有写权限。cpt文件记录了上传的中间状态信息并自带了校验,用户不能去编辑它,如果cpt文件损坏则上传无法继续。整个上传完成后cpt文件会被删除。如果上传过程中本地文件发生了改变,则上传会失败。 追加上传OSS支持可追加的文件类型,通过Bucket#append_object来上传可追加的文件,调用时需要指定文件追加的位置,对于新创建文件,这个位置是0;对于已经存在的文件,这个位置必须是追加前文件的长度。 文件不存在时,调用append_object会创建一个可追加的文件文件存在时,调用append_object会向文件末尾追加内容 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')# 创建可追加的文件bucket.append_object('my-object', 0) {}# 向文件末尾追加内容next_pos = bucket.append_object('my-object', 0) do |stream| 100.times { |i| stream << i.to_s }endnext_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-1')next_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-2') 注意: 只能向可追加的文件(即通过 append_object 创建的文件)追加内容。可追加的文件不能被拷贝。 上传回调用户在上传文件时可以指定“上传回调”,这样在文件上传成功后OSS会向用户提供的服务器地址发起一个HTTP POST请求,相当于一个通知机制。用户可以在收到回调的时候做相应的动作。更多有关上传回调的内容请参考OSS 上传回调。 目前OSS支持上传回调的接口只有put_object和resumable_upload。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.put_object('files/hello', file: '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 上面的例子使用put_object上传了一个文件,并指定了上传回调并将此次上传的bucket和object信息添加在body中,应用服务器收到这个回调后,就知道这个文件已经成功上传到OSS了。 resumable_upload的使用方法类似: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.resumable_upload('files/hello', '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 注意: callback的URL不能包含query string,而应该在:query参数中指定。可能出现文件上传成功,但是执行回调失败的情况,此时client会抛出 CallbackError,用户如果要忽略此错误,需要显式接住这个异常。详细的例子请参考callback.rb。接受回调的server请参考callback_server.rb。

2019-12-01 23:14:32 0 浏览量 回答数 0

阿里云爆款特惠专场,精选爆款产品低至0.95折!

爆款ECS云服务器8.1元/月起,云数据库低至1.5折,限时抢购!

回答

详细解答可以参考官方帮助文档上传文件(Object)OSS Ruby SDK提供了丰富的文件上传接口,用户可以通过以下方式向OSS中上传文件: 上传本地文件到OSS流式上传断点续传上传追加上传上传回调 上传本地文件通过Bucket#put_object接口,并指定:file参数来上传一个本地文件到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object', :file => 'local-file') 流式上传在进行大文件上传时,往往不希望一次性处理全部的内容然后上传,而是希望流式地处理,一次上传一部分内容。甚至如果要上传的内容本身就来自网络,不能一次获取,那只能流式地上传。通过Bucket#put_object接口,并指定block参数来将流式生成的内容上传到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object') do |stream| 100.times { |i| stream << i.to_s }end 断点续传上传当上传大文件时,如果网络不稳定或者程序崩溃了,则整个上传就失败了。用户不得不重头再来,这样做不仅浪费资源,在网络不稳定的情况下,往往重试多次还是无法完成上传。通过Bucket#resumable_upload接口来实现断点续传上传。它有以下参数: key 上传到OSS的Object名字file 待上传的本地文件路径opts 可选项,主要包括: :cpt_file 指定checkpoint文件的路径,如果不指定则默认为与本地文件同目录下的file.cpt,其中file是本地文件的名字:disable_cpt 如果指定为true,则上传过程中不会记录上传进度,失败后也无法进行续传:part_size 指定每个分片的大小,默认为4MB&block 如果调用时候传递了block,则上传进度会交由block处理 详细的参数请参考API文档。 其实现的原理是将要上传的文件分成若干个分片分别上传,最后所有分片都上传成功后,完成整个文件的上传。在上传的过程中会记录当前上传的进度信息(记录在checkpoint文件中),如果上传过程中某一分片上传失败,再次上传时会从checkpoint文件中记录的点继续上传。这要求再次调用时要指定与上次相同的checkpoint文件。上传完成后,checkpoint文件会被删除。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.resumable_upload('my-object', 'local-file') do |p| puts "Progress: #{p}"endbucket.resumable_upload( 'my-object', 'local-file', :part_size => 100 * 1024, :cpt_file => '/tmp/x.cpt') { |p| puts "Progress: #{p}"} 注意: SDK会将上传的中间状态信息记录在cpt文件中,所以要确保用户对cpt文件有写权限。cpt文件记录了上传的中间状态信息并自带了校验,用户不能去编辑它,如果cpt文件损坏则上传无法继续。整个上传完成后cpt文件会被删除。如果上传过程中本地文件发生了改变,则上传会失败。 追加上传OSS支持可追加的文件类型,通过Bucket#append_object来上传可追加的文件,调用时需要指定文件追加的位置,对于新创建文件,这个位置是0;对于已经存在的文件,这个位置必须是追加前文件的长度。 文件不存在时,调用append_object会创建一个可追加的文件文件存在时,调用append_object会向文件末尾追加内容 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')# 创建可追加的文件bucket.append_object('my-object', 0) {}# 向文件末尾追加内容next_pos = bucket.append_object('my-object', 0) do |stream| 100.times { |i| stream << i.to_s }endnext_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-1')next_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-2') 注意: 只能向可追加的文件(即通过 append_object 创建的文件)追加内容。可追加的文件不能被拷贝。 上传回调用户在上传文件时可以指定“上传回调”,这样在文件上传成功后OSS会向用户提供的服务器地址发起一个HTTP POST请求,相当于一个通知机制。用户可以在收到回调的时候做相应的动作。更多有关上传回调的内容请参考OSS 上传回调。 目前OSS支持上传回调的接口只有put_object和resumable_upload。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.put_object('files/hello', file: '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 上面的例子使用put_object上传了一个文件,并指定了上传回调并将此次上传的bucket和object信息添加在body中,应用服务器收到这个回调后,就知道这个文件已经成功上传到OSS了。 resumable_upload的使用方法类似: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.resumable_upload('files/hello', '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 注意: callback的URL不能包含query string,而应该在:query参数中指定。可能出现文件上传成功,但是执行回调失败的情况,此时client会抛出 CallbackError,用户如果要忽略此错误,需要显式接住这个异常。详细的例子请参考callback.rb。接受回调的server请参考callback_server.rb。

2019-12-01 23:14:33 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档上传文件(Object)OSS Ruby SDK提供了丰富的文件上传接口,用户可以通过以下方式向OSS中上传文件: 上传本地文件到OSS流式上传断点续传上传追加上传上传回调 上传本地文件通过Bucket#put_object接口,并指定:file参数来上传一个本地文件到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object', :file => 'local-file') 流式上传在进行大文件上传时,往往不希望一次性处理全部的内容然后上传,而是希望流式地处理,一次上传一部分内容。甚至如果要上传的内容本身就来自网络,不能一次获取,那只能流式地上传。通过Bucket#put_object接口,并指定block参数来将流式生成的内容上传到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object') do |stream| 100.times { |i| stream << i.to_s }end 断点续传上传当上传大文件时,如果网络不稳定或者程序崩溃了,则整个上传就失败了。用户不得不重头再来,这样做不仅浪费资源,在网络不稳定的情况下,往往重试多次还是无法完成上传。通过Bucket#resumable_upload接口来实现断点续传上传。它有以下参数: key 上传到OSS的Object名字file 待上传的本地文件路径opts 可选项,主要包括: :cpt_file 指定checkpoint文件的路径,如果不指定则默认为与本地文件同目录下的file.cpt,其中file是本地文件的名字:disable_cpt 如果指定为true,则上传过程中不会记录上传进度,失败后也无法进行续传:part_size 指定每个分片的大小,默认为4MB&block 如果调用时候传递了block,则上传进度会交由block处理 详细的参数请参考API文档。 其实现的原理是将要上传的文件分成若干个分片分别上传,最后所有分片都上传成功后,完成整个文件的上传。在上传的过程中会记录当前上传的进度信息(记录在checkpoint文件中),如果上传过程中某一分片上传失败,再次上传时会从checkpoint文件中记录的点继续上传。这要求再次调用时要指定与上次相同的checkpoint文件。上传完成后,checkpoint文件会被删除。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.resumable_upload('my-object', 'local-file') do |p| puts "Progress: #{p}"endbucket.resumable_upload( 'my-object', 'local-file', :part_size => 100 * 1024, :cpt_file => '/tmp/x.cpt') { |p| puts "Progress: #{p}"} 注意: SDK会将上传的中间状态信息记录在cpt文件中,所以要确保用户对cpt文件有写权限。cpt文件记录了上传的中间状态信息并自带了校验,用户不能去编辑它,如果cpt文件损坏则上传无法继续。整个上传完成后cpt文件会被删除。如果上传过程中本地文件发生了改变,则上传会失败。 追加上传OSS支持可追加的文件类型,通过Bucket#append_object来上传可追加的文件,调用时需要指定文件追加的位置,对于新创建文件,这个位置是0;对于已经存在的文件,这个位置必须是追加前文件的长度。 文件不存在时,调用append_object会创建一个可追加的文件文件存在时,调用append_object会向文件末尾追加内容 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')# 创建可追加的文件bucket.append_object('my-object', 0) {}# 向文件末尾追加内容next_pos = bucket.append_object('my-object', 0) do |stream| 100.times { |i| stream << i.to_s }endnext_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-1')next_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-2') 注意: 只能向可追加的文件(即通过 append_object 创建的文件)追加内容。可追加的文件不能被拷贝。 上传回调用户在上传文件时可以指定“上传回调”,这样在文件上传成功后OSS会向用户提供的服务器地址发起一个HTTP POST请求,相当于一个通知机制。用户可以在收到回调的时候做相应的动作。更多有关上传回调的内容请参考OSS 上传回调。 目前OSS支持上传回调的接口只有put_object和resumable_upload。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.put_object('files/hello', file: '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 上面的例子使用put_object上传了一个文件,并指定了上传回调并将此次上传的bucket和object信息添加在body中,应用服务器收到这个回调后,就知道这个文件已经成功上传到OSS了。 resumable_upload的使用方法类似: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.resumable_upload('files/hello', '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 注意: callback的URL不能包含query string,而应该在:query参数中指定。可能出现文件上传成功,但是执行回调失败的情况,此时client会抛出 CallbackError,用户如果要忽略此错误,需要显式接住这个异常。详细的例子请参考callback.rb。接受回调的server请参考callback_server.rb。

2019-12-01 23:14:33 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档上传文件(Object)OSS Ruby SDK提供了丰富的文件上传接口,用户可以通过以下方式向OSS中上传文件: 上传本地文件到OSS流式上传断点续传上传追加上传上传回调 上传本地文件通过Bucket#put_object接口,并指定:file参数来上传一个本地文件到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object', :file => 'local-file') 流式上传在进行大文件上传时,往往不希望一次性处理全部的内容然后上传,而是希望流式地处理,一次上传一部分内容。甚至如果要上传的内容本身就来自网络,不能一次获取,那只能流式地上传。通过Bucket#put_object接口,并指定block参数来将流式生成的内容上传到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object') do |stream| 100.times { |i| stream << i.to_s }end 断点续传上传当上传大文件时,如果网络不稳定或者程序崩溃了,则整个上传就失败了。用户不得不重头再来,这样做不仅浪费资源,在网络不稳定的情况下,往往重试多次还是无法完成上传。通过Bucket#resumable_upload接口来实现断点续传上传。它有以下参数: key 上传到OSS的Object名字file 待上传的本地文件路径opts 可选项,主要包括: :cpt_file 指定checkpoint文件的路径,如果不指定则默认为与本地文件同目录下的file.cpt,其中file是本地文件的名字:disable_cpt 如果指定为true,则上传过程中不会记录上传进度,失败后也无法进行续传:part_size 指定每个分片的大小,默认为4MB&block 如果调用时候传递了block,则上传进度会交由block处理 详细的参数请参考API文档。 其实现的原理是将要上传的文件分成若干个分片分别上传,最后所有分片都上传成功后,完成整个文件的上传。在上传的过程中会记录当前上传的进度信息(记录在checkpoint文件中),如果上传过程中某一分片上传失败,再次上传时会从checkpoint文件中记录的点继续上传。这要求再次调用时要指定与上次相同的checkpoint文件。上传完成后,checkpoint文件会被删除。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.resumable_upload('my-object', 'local-file') do |p| puts "Progress: #{p}"endbucket.resumable_upload( 'my-object', 'local-file', :part_size => 100 * 1024, :cpt_file => '/tmp/x.cpt') { |p| puts "Progress: #{p}"} 注意: SDK会将上传的中间状态信息记录在cpt文件中,所以要确保用户对cpt文件有写权限。cpt文件记录了上传的中间状态信息并自带了校验,用户不能去编辑它,如果cpt文件损坏则上传无法继续。整个上传完成后cpt文件会被删除。如果上传过程中本地文件发生了改变,则上传会失败。 追加上传OSS支持可追加的文件类型,通过Bucket#append_object来上传可追加的文件,调用时需要指定文件追加的位置,对于新创建文件,这个位置是0;对于已经存在的文件,这个位置必须是追加前文件的长度。 文件不存在时,调用append_object会创建一个可追加的文件文件存在时,调用append_object会向文件末尾追加内容 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')# 创建可追加的文件bucket.append_object('my-object', 0) {}# 向文件末尾追加内容next_pos = bucket.append_object('my-object', 0) do |stream| 100.times { |i| stream << i.to_s }endnext_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-1')next_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-2') 注意: 只能向可追加的文件(即通过 append_object 创建的文件)追加内容。可追加的文件不能被拷贝。 上传回调用户在上传文件时可以指定“上传回调”,这样在文件上传成功后OSS会向用户提供的服务器地址发起一个HTTP POST请求,相当于一个通知机制。用户可以在收到回调的时候做相应的动作。更多有关上传回调的内容请参考OSS 上传回调。 目前OSS支持上传回调的接口只有put_object和resumable_upload。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.put_object('files/hello', file: '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 上面的例子使用put_object上传了一个文件,并指定了上传回调并将此次上传的bucket和object信息添加在body中,应用服务器收到这个回调后,就知道这个文件已经成功上传到OSS了。 resumable_upload的使用方法类似: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.resumable_upload('files/hello', '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 注意: callback的URL不能包含query string,而应该在:query参数中指定。可能出现文件上传成功,但是执行回调失败的情况,此时client会抛出 CallbackError,用户如果要忽略此错误,需要显式接住这个异常。详细的例子请参考callback.rb。接受回调的server请参考callback_server.rb。

2019-12-01 23:14:33 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档上传文件(Object)OSS Ruby SDK提供了丰富的文件上传接口,用户可以通过以下方式向OSS中上传文件: 上传本地文件到OSS流式上传断点续传上传追加上传上传回调 上传本地文件通过Bucket#put_object接口,并指定:file参数来上传一个本地文件到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object', :file => 'local-file') 流式上传在进行大文件上传时,往往不希望一次性处理全部的内容然后上传,而是希望流式地处理,一次上传一部分内容。甚至如果要上传的内容本身就来自网络,不能一次获取,那只能流式地上传。通过Bucket#put_object接口,并指定block参数来将流式生成的内容上传到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object') do |stream| 100.times { |i| stream << i.to_s }end 断点续传上传当上传大文件时,如果网络不稳定或者程序崩溃了,则整个上传就失败了。用户不得不重头再来,这样做不仅浪费资源,在网络不稳定的情况下,往往重试多次还是无法完成上传。通过Bucket#resumable_upload接口来实现断点续传上传。它有以下参数: key 上传到OSS的Object名字file 待上传的本地文件路径opts 可选项,主要包括: :cpt_file 指定checkpoint文件的路径,如果不指定则默认为与本地文件同目录下的file.cpt,其中file是本地文件的名字:disable_cpt 如果指定为true,则上传过程中不会记录上传进度,失败后也无法进行续传:part_size 指定每个分片的大小,默认为4MB&block 如果调用时候传递了block,则上传进度会交由block处理 详细的参数请参考API文档。 其实现的原理是将要上传的文件分成若干个分片分别上传,最后所有分片都上传成功后,完成整个文件的上传。在上传的过程中会记录当前上传的进度信息(记录在checkpoint文件中),如果上传过程中某一分片上传失败,再次上传时会从checkpoint文件中记录的点继续上传。这要求再次调用时要指定与上次相同的checkpoint文件。上传完成后,checkpoint文件会被删除。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.resumable_upload('my-object', 'local-file') do |p| puts "Progress: #{p}"endbucket.resumable_upload( 'my-object', 'local-file', :part_size => 100 * 1024, :cpt_file => '/tmp/x.cpt') { |p| puts "Progress: #{p}"} 注意: SDK会将上传的中间状态信息记录在cpt文件中,所以要确保用户对cpt文件有写权限。cpt文件记录了上传的中间状态信息并自带了校验,用户不能去编辑它,如果cpt文件损坏则上传无法继续。整个上传完成后cpt文件会被删除。如果上传过程中本地文件发生了改变,则上传会失败。 追加上传OSS支持可追加的文件类型,通过Bucket#append_object来上传可追加的文件,调用时需要指定文件追加的位置,对于新创建文件,这个位置是0;对于已经存在的文件,这个位置必须是追加前文件的长度。 文件不存在时,调用append_object会创建一个可追加的文件文件存在时,调用append_object会向文件末尾追加内容 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')# 创建可追加的文件bucket.append_object('my-object', 0) {}# 向文件末尾追加内容next_pos = bucket.append_object('my-object', 0) do |stream| 100.times { |i| stream << i.to_s }endnext_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-1')next_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-2') 注意: 只能向可追加的文件(即通过 append_object 创建的文件)追加内容。可追加的文件不能被拷贝。 上传回调用户在上传文件时可以指定“上传回调”,这样在文件上传成功后OSS会向用户提供的服务器地址发起一个HTTP POST请求,相当于一个通知机制。用户可以在收到回调的时候做相应的动作。更多有关上传回调的内容请参考OSS 上传回调。 目前OSS支持上传回调的接口只有put_object和resumable_upload。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.put_object('files/hello', file: '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 上面的例子使用put_object上传了一个文件,并指定了上传回调并将此次上传的bucket和object信息添加在body中,应用服务器收到这个回调后,就知道这个文件已经成功上传到OSS了。 resumable_upload的使用方法类似: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.resumable_upload('files/hello', '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 注意: callback的URL不能包含query string,而应该在:query参数中指定。可能出现文件上传成功,但是执行回调失败的情况,此时client会抛出 CallbackError,用户如果要忽略此错误,需要显式接住这个异常。详细的例子请参考callback.rb。接受回调的server请参考callback_server.rb。

2019-12-01 23:14:33 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档上传文件(Object)OSS Ruby SDK提供了丰富的文件上传接口,用户可以通过以下方式向OSS中上传文件: 上传本地文件到OSS流式上传断点续传上传追加上传上传回调 上传本地文件通过Bucket#put_object接口,并指定:file参数来上传一个本地文件到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object', :file => 'local-file') 流式上传在进行大文件上传时,往往不希望一次性处理全部的内容然后上传,而是希望流式地处理,一次上传一部分内容。甚至如果要上传的内容本身就来自网络,不能一次获取,那只能流式地上传。通过Bucket#put_object接口,并指定block参数来将流式生成的内容上传到OSS: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.put_object('my-object') do |stream| 100.times { |i| stream << i.to_s }end 断点续传上传当上传大文件时,如果网络不稳定或者程序崩溃了,则整个上传就失败了。用户不得不重头再来,这样做不仅浪费资源,在网络不稳定的情况下,往往重试多次还是无法完成上传。通过Bucket#resumable_upload接口来实现断点续传上传。它有以下参数: key 上传到OSS的Object名字file 待上传的本地文件路径opts 可选项,主要包括: :cpt_file 指定checkpoint文件的路径,如果不指定则默认为与本地文件同目录下的file.cpt,其中file是本地文件的名字:disable_cpt 如果指定为true,则上传过程中不会记录上传进度,失败后也无法进行续传:part_size 指定每个分片的大小,默认为4MB&block 如果调用时候传递了block,则上传进度会交由block处理 详细的参数请参考API文档。 其实现的原理是将要上传的文件分成若干个分片分别上传,最后所有分片都上传成功后,完成整个文件的上传。在上传的过程中会记录当前上传的进度信息(记录在checkpoint文件中),如果上传过程中某一分片上传失败,再次上传时会从checkpoint文件中记录的点继续上传。这要求再次调用时要指定与上次相同的checkpoint文件。上传完成后,checkpoint文件会被删除。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')bucket.resumable_upload('my-object', 'local-file') do |p| puts "Progress: #{p}"endbucket.resumable_upload( 'my-object', 'local-file', :part_size => 100 * 1024, :cpt_file => '/tmp/x.cpt') { |p| puts "Progress: #{p}"} 注意: SDK会将上传的中间状态信息记录在cpt文件中,所以要确保用户对cpt文件有写权限。cpt文件记录了上传的中间状态信息并自带了校验,用户不能去编辑它,如果cpt文件损坏则上传无法继续。整个上传完成后cpt文件会被删除。如果上传过程中本地文件发生了改变,则上传会失败。 追加上传OSS支持可追加的文件类型,通过Bucket#append_object来上传可追加的文件,调用时需要指定文件追加的位置,对于新创建文件,这个位置是0;对于已经存在的文件,这个位置必须是追加前文件的长度。 文件不存在时,调用append_object会创建一个可追加的文件文件存在时,调用append_object会向文件末尾追加内容 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')# 创建可追加的文件bucket.append_object('my-object', 0) {}# 向文件末尾追加内容next_pos = bucket.append_object('my-object', 0) do |stream| 100.times { |i| stream << i.to_s }endnext_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-1')next_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-2') 注意: 只能向可追加的文件(即通过 append_object 创建的文件)追加内容。可追加的文件不能被拷贝。 上传回调用户在上传文件时可以指定“上传回调”,这样在文件上传成功后OSS会向用户提供的服务器地址发起一个HTTP POST请求,相当于一个通知机制。用户可以在收到回调的时候做相应的动作。更多有关上传回调的内容请参考OSS 上传回调。 目前OSS支持上传回调的接口只有put_object和resumable_upload。 require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.put_object('files/hello', file: '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 上面的例子使用put_object上传了一个文件,并指定了上传回调并将此次上传的bucket和object信息添加在body中,应用服务器收到这个回调后,就知道这个文件已经成功上传到OSS了。 resumable_upload的使用方法类似: require 'aliyun/oss'client = Aliyun::OSS::Client.new( endpoint: 'endpoint', access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')bucket = client.get_bucket('my-bucket')callback = Aliyun::OSS::Callback.new( url: 'http://10.101.168.94:1234/callback', query: {user: 'put_object'}, body: 'bucket=${bucket}&object=${object}')begin bucket.resumable_upload('files/hello', '/tmp/x', callback: callback)rescue Aliyun::OSS::CallbackError => e puts "Callback failed: #{e.message}"end 注意: callback的URL不能包含query string,而应该在:query参数中指定。可能出现文件上传成功,但是执行回调失败的情况,此时client会抛出 CallbackError,用户如果要忽略此错误,需要显式接住这个异常。详细的例子请参考callback.rb。接受回调的server请参考callback_server.rb。

2019-12-01 23:14:33 0 浏览量 回答数 0

问题

为什么一个文件上传错误,整个文件夹都打不开呢?

youhaoa 2019-12-01 21:43:24 3849 浏览量 回答数 1

回答

Re免费主机上传不了文件 不是ftp的问题 , ftp可以上传,是我要在后台上传文件, 上传图片 不行 怎么办 用的 joomla建站程序 支持的不太好吗 ------------------------- Re免费主机上传不了文件 怎么办 是不是主机兼容程序不好呢 到底哪里设置弄好权限呢 上传视频 缩略图 不行的 我在这里发了个贴 说什么php版本低了 socket功能没启用 怎么弄呢 兼容不好 ------------------------- Re免费主机上传不了文件 哎 版主不在吗 解答下吧 到底是什么原因都没找到 ------------------------- Re免费主机上传不了文件 只要没兼容问题 ,这个免费主机就是最好的了 堪称完美

情缘灵魂 2019-12-01 23:15:14 0 浏览量 回答数 0

问题

Linux下Java项目目录丢失,什么原因?

落地花开啦 2019-12-01 19:34:42 969 浏览量 回答数 1

问题

采用AjaxFileUpload实现文件上传,文件上传成功但得到的中文文件名为乱码。

吴孟桥 2019-12-01 19:41:17 1642 浏览量 回答数 1

回答

回2楼徇云一五的帖子 主要是手机上的文件,文件名可以有空格。 如果有指明object key不能有空格等一些非法字符,处理的话是可以处理的。 且对于上传文件名带空格的文件,在ios上是可以成功的,在android上失败。 ------------------------- Reoss文件名中有空格上传失败 引用第1楼云目录于2015-07-28 23:19发表的  : 这个也不奇怪。 主要是手机上的文件,文件名可以有空格。 如果有指明object key不能有空格等一些非法字符,处理的话是可以处理的。 且对于上传文件名带空格的文件,在i o s上是可以成功的,在android上失败。 ------------------------- ReReoss文件名中有空格上传失败 引用第5楼oss-dev于2015-07-29 15:36发表的 Reoss文件名中有空格上传失败 : 用url encoding,这样就可以上传了 url encoding了,签名就验证不过去了。 ------------------------- Reoss文件名中有空格上传失败 引用第6楼徇云一五于2015-07-30 05:35发表的  : 恩,你上传应该用base64编码了吧,那文件名也就不存在空格的情况啦 文件名没有做base64编码。 我也用了url encode,可这样所有文件上传都报签名验证SignatureDoesNotMatch错误。 而且通过控制台或ios上传的带空格文件名的文件,android这边下载就不行了。 当然我们可以对几个平台都做base64编码,但这样岂不限制太多,OSS平台也不应这样。 android使用的是1.1.0版本。

zsm 2019-12-02 02:54:31 0 浏览量 回答数 0

问题

免费虚拟机不支持伪静态?感觉像上锁,传上去都看不到

月下孤鹰 2019-12-01 21:48:07 3578 浏览量 回答数 1

问题

Stream上传插件怎么整合OOS,上传大文件到OOS服务器?

theiamioc 2019-12-01 21:56:19 2146 浏览量 回答数 1

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:32 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:32 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:32 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:30 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:31 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:31 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:31 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:32 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:32 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:32 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:31 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:31 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:30 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 适用场景 当使用简单上传(PutObject)功能来上传较大的文件到OSS的时候,如果上传的过程中出现了网络错误,那么此次上传失败。重试必须从文件起始位置上传。针对这种情况,OSS提供了分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。 相对于其他的上传方式,分片上传适用于以下场景: 恶劣的网络环境:如手机端,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传其他的Part。 断点续传:中途暂停之后,可以从上次上传完成的Part的位置继续上传。 加速上传:要上传到OSS的本地文件很大的时候,可以并行上传多个Part以加快上传。 流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。 基本流程 流程如下: 将要上传的文件按照一定的大小分片。 初始化一个分片上传任务(InitiateMultipartUpload)。 逐个或并行上传分片(UploadPart)。 完成上传(CompleteMultipartUpload)。 该过程需注意以下几点: 除了最后一块Part,其他Part的大小不能小于100KB,否则会导致调用CompleteMultipartUpload接口时失败。 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。具体的并发个数并不是越多速度越快,要结合用户自身的网络情况和设备负载综合考虑。 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part是不会自动回收的,因此如果要终止上传并删除占用的空间请调用AbortMultipartUpload。如果需要自动回收上传的Part,请参考Object生命周期管理。 断点续传 因为已经上传的Part的生命周期是永久的,因此很容易可以实现断点续传的功能。 在使用分片上传的过程中,如果系统意外崩溃,可以在重启的时候通过ListMultipartUploads和ListParts两个接口来获取某个Object上的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。 断点续传功能在移动设备和大文件上传中的优势尤为明显。 上传限制 大小限制:在这种上传方式下,Object的大小是由Part来决定的,最大支持10000块Part。每块Part最小100KB(最后一块可以比100KB小),最大5GB。Object的大小不能超过48.8TB。 命名限制 使用UTF-8编码。 长度必须在1–1023字节之间。 不能以正斜线(/)或者反斜线(\)字符开头。 上传的安全及授权 为了防止第三方往开发者的Bucket未经授权上传,OSS提供了Bucket和Object级别的访问权限控制,详细解释见访问控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。 上传后续操作 在文件上传到OSS上后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作。 如果上传的是图片,可以使用图片服务进行后续处理。 如果上传的是音频或者视频文件,可以使用媒体转码进行后续处理。 功能使用参考: API: MultipartUpload InitiateMultipartUpload UploadPart UploadPartCopy CompleteMultipartUpload AbortMultipartUpload ListMultipartUploads ListParts Java SDK:分片上传 最佳实践 RAM和STS使用指南 Web端直传实践

2019-12-01 23:12:30 0 浏览量 回答数 0

问题

oss 上传500M的文件有什么好的方法吗

1084110988454136 2020-06-16 12:49:54 31 浏览量 回答数 2
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站