C# .NET直接从客户端将文件上载到Amazon S3
我正在使用ASP.NET C#MVC5构建一个应用程序。您可以将记录添加到数据库中,这些记录可以附加图像(如果使其更复杂,现在可以是单个图像) 我在存储上传上看到了一些其他帖子,但我看不出它们对我有用:C# .NET直接从客户端将文件上载到Amazon S3,c#,asp.net,amazon-web-services,amazon-s3,C#,Asp.net,Amazon Web Services,Amazon S3,我正在使用ASP.NET C#MVC5构建一个应用程序。您可以将记录添加到数据库中,这些记录可以附加图像(如果使其更复杂,现在可以是单个图像) 我在存储上传上看到了一些其他帖子,但我看不出它们对我有用: 想法: 将文件(图像)上载到AmazonS3,而不让数据通过我的服务器 保留用户输入的表单上的任何数据(我很高兴有回帖、模式或不刷新页面) 将数据库值保存在文件表中,其中包含上载的文件的名称和类型等(这也将链接到与之关联的项目) 过程: 用户选择要上载的文件并按下上载按钮 文件直
- 将文件(图像)上载到AmazonS3,而不让数据通过我的服务器
- 保留用户输入的表单上的任何数据(我很高兴有回帖、模式或不刷新页面)
- 将数据库值保存在文件表中,其中包含上载的文件的名称和类型等(这也将链接到与之关联的项目)
- 用户选择要上载的文件并按下上载按钮
- 文件直接上传到amazon(c#async method?,ajax?)
- 缩略图版本也使用相同的方法创建并上传到amazon?(“-thumb”追加到文件名后)
- 使用文件名、amazon文件密钥、文件类型等为这两个文件创建的数据库记录
- (可选)然后在屏幕上上传器旁边显示缩略图
- 用户按“保存”保存记录和图像信息
- 避免使用基于客户端的解决方案,以提高应用程序的性能和跨平台的可访问性(因此,避免使用JavaScript,当然也不要使用flash)
- 尽可能减少用户上载文件而忘记保存(或浏览器崩溃并失去已上载文件的链接)的可能性
就服务器端处理而言,我要避免的主要事情是出于带宽原因通过服务器上传图像,我非常乐意在服务器上进行任何其他处理。好的,这很愚蠢。您希望避免服务器端处理和客户端处理。无论如何,它应该上传文件,并在途中生成缩略图。请让你的约束更合理。@SergeyKovalev是的,你的观点是合理的。我已经用澄清更新了我的答案。您需要保留原始文件的分辨率吗?还是可以在客户端缩小它?我建议在AWS中使用S3事件和lambda来执行缩略图和DB插入。与此同时,你可以轮询服务器,看看它是否完成了。好吧,这太傻了。您希望避免服务器端处理和客户端处理。无论如何,它应该上传文件,并在途中生成缩略图。请让你的约束更合理。@SergeyKovalev是的,你的观点是合理的。我已经用澄清更新了我的答案。您需要保留原始文件的分辨率吗?还是可以在客户端缩小它?我建议在AWS中使用S3事件和lambda来执行缩略图和DB插入。同时,您可以轮询服务器以查看是否完成了此操作。