关于这个问题,使用进度条将文件直接上载到S3,我想知道是否有一个更新或其他方法来做到这一点,而不使用闪存或java小程序?
我试过使用这个swfupload_s3 http://swfupload.org/forum/generaldiscussion/2185,它可以工作,但不幸的是,进度条会达到100%,
(1)本地代理服务器和一些反病毒软件会导致这种行为。反病毒软件没有将上传发送到服务器,而是拦截上传并接受整个文件。SWFUpload已经发送了整个文件并显示了100%。这件事发生得很快,因为还没有发出去,都是在当地发生的。反病毒然后扫描被截获的文件并将其发送到服务器。与此同时,SWFupload保持在100%的水平上。一旦反病毒发送了文件,服务器就会响应,SWFUpload就会“完成”(2)已知的问题。我们已经记录在案了。周围没有工作。当反病毒干扰上传http://swfupload.org/forum/generaldiscussion/642 (1) http://code.google.com/p/swfupload/issues/detail?id=213 (2)时,这将只适用于任何客户端。
我已经干了两天了,但我似乎找不到别的办法了。还是根本就没有?
发布于 2012-03-15 15:25:20
这里有一个开放源码的php脚本,带有一个用于文件上传的S3 API,它可以实时返回上传的进度,如果您愿意的话,您也可以定制Uploader UI:
http://www.plupload.com/
发布于 2017-04-29 21:19:51
我成功地在AWS的PHP v3上完成了这个工作。
$client = new S3Client(/* config */);
$result = $client->putObject([
'Bucket' => 'bucket-name',
'Key' => 'bucket-name/file.ext',
'SourceFile' => 'local-file.ext',
'ContentType' => 'application/pdf',
'@http' => [
'progress' => function ($downloadTotalSize, $downloadSizeSoFar, $uploadTotalSize, $uploadSizeSoFar) {
printf(
"%s of %s downloaded, %s of %s uploaded.\n",
$downloadSizeSoFar,
$downloadTotalSize,
$uploadSizeSoFar,
$uploadTotalSize
);
}
]
]);这在AWS文档- S3截面中得到了解释。它的工作方式是公开GuzzleHttp的progress属性--可调用的,如这就是答案中所解释的。
https://stackoverflow.com/questions/9321677
复制相似问题