AWSS3异步等待上传成功返回结果
/// <summary>
/// 流上传文件
/// </summary>
/// <param name="data">流内容</param>
/// <param name="key">文件名(标识)</param>
/// <returns></returns>
public async Task<bool> UploadFile(byte[] data,string contentType, string key)
{
try
{
Stream s = (Stream)new MemoryStream(data);
PutObjectRequest request = new PutObjectRequest();
request.BucketName = AwsOptions.OpenBucket;
request.Key = key;
request.ContentType = contentType;
request.InputStream = s; using (var ss = S3Client.PutObjectAsync(request))
{
//等待结果返回
while (ss.IsCompleted == false)
{
Console.Write(".");
//每隔2秒检查一次
System.Threading.Thread.Sleep(1000);
}
//返回上传是否成功
return ss.IsCompletedSuccessfully;
}
}
catch (AmazonS3Exception e)
{
//Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
throw new Exception(e.Message);
}
catch (Exception e)
{
throw new Exception($"图片上传错误:{e.Message + e.StackTrace}");
}
return true;
}
AWSS3异步等待上传成功返回结果的更多相关文章
- vue watch 监听element upload组件上传成功返回的url列表
		
因为 on-success 上传成功返回的是一个异步的结果....如果父组件需要这个结果的话 必须用watch 监听 然后里面建立一个 save()方法 save方法里面再调用接口 传需要的上传之后的 ...
 - ssm使用Ajax的formData进行异步图片上传返回图片路径,并限制格式和大小
		
之前整理过SSM的文件上传,这次直接用代码了. 前台页面和js //form表单 <form id= "uploadForm" enctype="multipart ...
 - HTML5——摒弃插件和前端框架的异步文件上传
		
之前我从来没有体会到HTML5的便利,直到这次需要一个异步上传的功能功能.一开始我以为文件的一些声明必须为HTML5才管用,后来才知道添加了很多以前没有的标签,并可以直接播放视频,音频等.可以不再使用 ...
 - JS 异步分段上传文件
		
为了解决大文件上传 (PHP上传最大限制2GB) 同时为了解决文件上传是对服务器造成的压力 可以通过分段上传解决这个问题,这得益于HTML5开发的file API 前台代码: 引用了进度条插件myPr ...
 - Ajax+PHP实现异步图片上传
		
1.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...
 - ajax异步文件上传和进度条
		
一.ajax异步文件上传 之前有说过在form表单内的文件上传,但是会刷新页面,下面就来实现不刷新页面的异步文件上传 <div class="uploding_div"> ...
 - bootstrap fileinput添加上传成功回调事件
		
国外牛人做的bootstrap fileinput挺酷的,但是可惜没有提供自定义上传成功回调事件的接口,因此感到非常头疼,但是很幸运的是,我在网上搜索到一个提问帖子,它问到使用Jquery的on函数绑 ...
 - PHP上传文件超过了最大文件大小限制导致无法上传成功
		
最近的研究<HeadFirst PHP & MySQL>第一本书5章"使用存储在文件中的数据",难道当一个文件上传应用程序,发生了错误.即,文件不能成功上传.这 ...
 - 处理FTP上传成功推理
		
#登录FTPserver获取指定文件 #$1:server住址 #$2:帐户 #$3:password #$4:文件路径名 #$5:本地文件路径名 #$6:本地文件名 #比量ftp上传结果: #获取上 ...
 
随机推荐
- git的操作集合
			
一.git 操作 $ git branch -a //查看远程分支$ git branch //查看本地分支 $ git branch -d <BranchName>//删除本地分支$ g ...
 - P5302 [GXOI/GZOI2019]特技飞行
			
题目地址:P5302 [GXOI/GZOI2019]特技飞行 这里是官方题解(by lydrainbowcat) 题意 给 \(10^5\) 条直线,给 \(x = st\) 和 \(x = ed\) ...
 - spring boot 框架设计步骤
			
spring boot 框架设计步骤: 1.poem.xml配置 2.application.yml配置 3.entiry实体 4.realm.Myrealm extends AuthorizingR ...
 - 使用nc传输文件和目录【转】
			
方法1,传输文件演示(先启动接收命令) 使用nc传输文件还是比较方便的,因为不用scp和rsync那种输入密码的操作了 把A机器上的一个rpm文件发送到B机器上 需注意操作次序,receiver先侦听 ...
 - MySQL---DDL+DQL---(四)
			
三.对数据库表记录进行操作(修改DDL) 1.插入记录:insert 语法:insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..);--向表中插入某些列in ...
 - python实现JWT
			
python实现JWT 一.常见的几种实现认证的方法 1.1basic auth 1.2cookie 1.3token json web token--一种基于token的json格式web认证方法. ...
 - mysql函数取出单个字段重新组成一维数组
			
array_column():
 - Windows下安装Redis客户端
			
Redis是有名的NoSql数据库,一般Linux都会默认支持.但在Windows环境中,可能需要手动安装设置才能有效使用.这里就简单介绍一下Windows下Redis服务的安装方法,希望能够帮到你. ...
 - buaaoo_first_improvement
			
优化,还是不优化,这是个问题 本讨论仅基于程序基本上正确的情况下. (一)第一次作业 众所周知,本次作业没有优化到100分的都进入了B组或者C组,所以事实上本次作业的优化是十分简单的,在这里提几句. ...
 - PHP实现域名授权的两种方法-转
			
01. 在线校验域名授权的方法: 客户端代码: PHP <?php //获取不带端口号的域名前缀 $servername = trim($_SERVER['SERVER_NAME'] ...