我正在尝试使用Spring Cloud项目实现文件上传到Amazon S3存储桶。
根据文件:
“可以在应用程序代码中轻松创建com.amazonaws.services.s3.transfer.TransferManager,并将其注入已使用Spring Cloud AWS资源加载器配置创建的预配置的com.amazon.services.s3.AmazonS3客户端。”
但此示例代码不起作用:
public class SimpleResourceLoadingBean {
@Autowired
private AmazonS3 amazonS3;
public void withTransferManager() {
TransferManager transferManager = new TransferManager(this.amazonS3);
transferManager.upload("myBucket","filename",new File("someFile"));
}
}
amazonS3变量始终为空。
我的Spring上下文配置如下:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aws-context="http://www.springframework.org/schema/cloud/aws/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/cloud/aws/context
http://www.springframework.org/schema/cloud/spring-cloud-aws-context.xsd">
<aws-context:context-credentials>
<aws-context:simple-credentials access-key="KEY" secret-key="SECRET" />
</aws-context:context-credentials>
<aws-context:context-region region="eu-central-1"/>
<aws-context:context-resource-loader/>
<bean id="awsTransferManager" class="mytest.cloud.aws.AwsTransferManager" />
我使用这个类进行测试:
public class AwsTransferManager {
@Autowired
private AmazonS3 amazonS3;
public void upload() throws AmazonServiceException, AmazonClientException, InterruptedException {
TransferManager tx = new TransferManager(amazonS3);
System.out.println(amazonS3); //always null
}
测试:
@Test
public void awsTest() throws Exception {
ApplicationContext cxt = new ClassPathXmlApplicationContext("META-INF/spring/spring-context.xml");
AwsTransferManager manager = (AwsTransferManager)getContext().getBean("awsTransferManager");
manager.upload();
}
我有一个小程序,其方法从浏览器中的JavaScript函数调用。该方法最终将文件发送到AmazonS3 bucket。但是,当该方法尝试创建AmazonS3Client时,该方法失败,不会显示任何错误。 该方法中代码的相关代码片段是: try/catch块中的任何消息都不会打印。方法的其余代码(为简洁起见,此处未显示)也不会被触发。 jar文件编译无误。我用的是jdk 1.7.0_51和amazo
我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se
下面是片段。请注意,我已经恢复到以前的提交,因此丢失了最近的修改,但请查看我编写的代码,然后才注意到始终等于0() 以下是当检测到活动后按: 以下是NoteActivity接收结果调用的方式。 null 我在我的项目上浪费了很多重要的时间,只是想知道是什么使resultCode和requestCode的值丢失了我发送的值。 任何帮助和指导都将不胜感激。非常感谢!
我只使用JavaScript,不使用任何服务器端代码,通过REST API实现了从客户机到AmazonS3的直接文件上载。一切正常但有一件事让我担心... 当我向AmazonS3 REST API发送请求时,我需要对请求进行签名,并将签名放入头中。要创建签名,我必须使用我的密钥。但是所有的事情都发生在客户端,所以,秘密密钥可以很容易地从页面源(即使我混淆/加密我的源)泄露出来。 我该怎么处理?这真
URI 方法 URI() string 返回当前客户端使用的服务器地址。 SetURI 方法 SetURI(uri string) 设置当前客户端使用的服务器地址。如果你想要设置多个服务器地址,请使用 SetURIList 方法代替该方法。 URIList 方法 URIList() []string 返回当前客户端可使用的服务器地址列表。 SetURIList 方法 SetURIList(uriL
客户端事件通过 SetEvent 方法进行设置。 客户端事件有两个,它们分别定义为: type onErrorEvent interface { OnError(name string, err error) } type onFailswitchEvent interface { OnFailswitch(Client) } 因为 go 语言不需要显式实现接口的特点,所以这两