2
我有一个工作上传表单在我的web应用程序,让用户从他们的计算机上传文件。 该文件直接上传到亚马逊s3没有通过我的服务器第一直接上传从谷歌驱动器到亚马逊s3
这是我的表格如何看起来像,我使用jquery文件上传插件。
<form class="startfileupload" action="//s3-us-west-2.amazonaws.com/<?php echo AMAZON_S3_BUCKET ?>/" method="POST" enctype="multipart/form-data" >
<input type="hidden" name="key" value="<?php echo $file_name;?>" >
<input type="hidden" name="AWSAccessKeyId" value="<?php echo AMAZON_KEY ?>">
<input type="hidden" name="acl" value="private">
<input type="hidden" name="policy" value="<?php echo $aws['base64Policy']; ?>">
<input type="hidden" name="signature" value="<?php echo $aws['signature']; ?>">
<input id="uploadinput" type="file" accept=".xls,.xlsx,.doc,.docx,.ppt,.pptx,.jpg,.jpeg,.png,.bmp,
.pdf, .zip" name="file" multiple=""/>
我希望给用户,供用户选择从他们的谷歌驱动文件,使用我加入了谷歌选择器,它可以让用户从那里挑文件的驱动器API的选项。
他们选择的文件后,我在回调获取文件的元数据(包括文件URL)。
我如何可以用它来将文件直接上传到S3?
我不想把文件上传到我的服务器,然后将其复制到S3,我想dircetly将文件上传到S3。没有必要在客户端下载文件然后上传它,这是否可行?
THX
好吧,我看到了,所以后续问题,我如何使用我得到的链接下载该文件到我的服务器?服务器未使用用户凭证进行身份验证,那么他如何才能访问该文件以下载它? –
你没有。你使用Javascript在客户端下载它,然后发布到s3。涉及bo服务器。 –