使用perl上传文件到S3,并设置http的header

这段时间要忙迁移公司的业务到AWS,上,先简单的写一些,具体的有时间再补充了....

首先需要下载S3的相关的perl的pm:http://developer.amazonwebservices.com/connect/entry.jspa?externalID=133&categoryID=47

#!/usr/bin/perl

# Simply connects to my S3 account, creates a new bucket
# and uploads a file called logo.jpg (passed thru STDIN) with
# public-read acl set

use strict;
use warnings;

print "you must specil file name for KEY\n" if @ARGV<1;

use S3;
use S3::AWSAuthConnection;
use S3::QueryStringAuthGenerator;

my $AWS_ACCESS_KEY_ID = '1DQ5TN5665Z7TVDNN682';
my $AWS_SECRET_ACCESS_KEY = 'CZpPQc55S2zF8JXwfME4JUOhpB9h4pQgTiGBF3sE';
my $BUCKET_NAME = 'squidwm' ;
my $KEY=$ARGV[0];

#my @file_name_for_key=split/\//,"$ARGV[0]";
#my $KEY = pop @file_name_for_key;
#print $KEY;

my %headers = (
    'x-amz-acl' => 'public-read','Cache-Control'=>'24342',
);

my $conn =
    S3::AWSAuthConnection->new($AWS_ACCESS_KEY_ID, $AWS_SECRET_ACCESS_KEY);
my $generator =
    S3::QueryStringAuthGenerator->new($AWS_ACCESS_KEY_ID, $AWS_SECRET_ACCESS_KEY);

print $conn->create_bucket($BUCKET_NAME)->message, "\n";

my $data ;
FILE: while(1) {
    my $n = sysread(STDIN, $data, 1024 * 1024, length($data));
    if ($n < 0) {
        print STDERR "Error reading input: $!\n";
        exit 1;

使用时: ./put_obj_s3 test.jpg </home/test.jpg

时间: 2024-09-17 22:41:15

使用perl上传文件到S3,并设置http的header的相关文章

我用Amazon S3的REST API中的upload方法从本地上传文件到S3的bucket中 ,为什么在32M-512M之间的速度很慢?? 16M之内

问题描述 我用AmazonS3的RESTAPI中的upload方法从本地上传文件到S3的bucket中,为什么在32M-512M之间的速度很慢??16M之内基本都是1s内就可以传完大于512M也有200MB/s的速度,就是超过16M之后到512M之间只有几十MB的速度是什么原因呢??到底哪里限制住了? 解决方案 解决方案二:楼主,这个问题解决了吗?我现在也遇到同样的问题.

fckeditor php上传文件重命名的设置_网页编辑器

这里经过摸索:找到了一个重命名的方法,大家看看好不好使. 首先:我希望上传的文件根据日期来组织文件夹 请修改editor\editor\filemanager\connectors\php文件夹下的:config.php文件 找到如下的内容: // Path to user files relative to the document root. $Config['UserFilesPath'] = 修改为: // Path to user files relative to the docum

环信node server上传文件 无法上传

问题描述 github地址:https://github.com/easemob/emc ... scase 50://上传文件     easemob.uploadFile({     file:'/image/01.jpg',     //header:{'restrict-access':true}});break;求解决办法

perl 中怎么实现sftp下载上传文件

问题描述 perl 中怎么实现sftp下载上传文件 在ftp/telnet禁用的情况下,如何使用sftp从远程主机上下载文件,并上传文件,求源码例子解释,谢谢

利用PUT方式上传文件的方法研究

虽然没有POST方法使用广泛,但是PUT方法却是向服务器上传文件最有效率的方法.POST上传文件时,我们通常需要将所有的信息组合成 multipart 传送过去,然后服务器再解码这些信息,解码过程则必不可少的会消耗内存和CPU资源,这种现象在上传大文件时尤其明显.而PUT方法则允许你通过与服务器建立的socket链接传递文件的内容,而不附带其他的信息. 最近一个项目上需要利用这种方式来进行文件的上传,下面介绍一下在 Apache + PHP 的环境下如何进行PUT方式的文件上传. Apache

php限制上传文件类型并保存上传文件的方法

 这篇文章主要介绍了php限制上传文件类型并保存上传文件的方法,涉及php针对上传文件的常用操作技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了php限制上传文件类型并保存上传文件的方法.分享给大家供大家参考.具体如下: 下面的代码演示了php中如何获取用户上传的文件,并限制文件类型的一般图片文件,最后保存到服务器 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3

IE上传文件到服务器

前言:项目用的是struts1,想要上传文件必须用jsp,传输指定类型写struts1标签,这样局限性太强,果断放弃,写一个servlet来实现. web.xml <servlet> <display-name>UploadServlet</display-name> <servlet-name>UploadServlet</servlet-name> <servlet-class>com.phlx.product.wx.action

javascript-js 获取上传文件的绝对路径

问题描述 js 获取上传文件的绝对路径 各位,用标签上传文件,想要获取上传文件的绝对路径 不知道怎样获取 麻烦告知 感激不尽 解决方案 不是所有的浏览器都会报告绝对路径.如果浏览器不报告,不允许js访问,没有办法获得. 如果限定ie,特定的版本,可以用fso或者自己写activex 解决方案二: 浏览器安全问题,ie7+需要配置过安全才会返回实际路径,其他浏览器不行.而且你获取客户端路径也没什么意义..除非是黑客.. 解决方案三: 在html中 ???? ???? function?upload

用菜鸟的眼光浅谈php上传文件

本人由于想写个discuz插件,这个插件功能上涉及到上传文件这一功能,故以菜鸟的眼光来学习了下php上传文件.   首先,w3cshool查了下案例,觉得他说的非常详细,连我这个菜鸟都略懂了一二.   贴上地址:http://www.w3school.com.cn/php/php_file_upload.asp   照着这个讲解,写了下他这个demo,贴上代码:   html:   <form action="demo.php" method="post" e