我试图弄清楚是否有可能返回某种流(可能是内存流?)我从我的桶里得到的东西。
S3 bucket包含很多不同类型的图像、文档等。所有这些都应该在我的网站上使用。但是,我不想显示AWS S3存储桶的路径
这就是为什么我试图创建一个流,并动态显示图像和可下载文档,而不是使用完整路径。这有意义吗?:-)
我用的是C#/。NET AWS SDK。
期待听到任何想法和方向指向!
public FileStream GetFile(string keyName)
{
using (client = new AmazonS3Client(Amazon.RegionEndpoint.USEast2))
{
GetObjectRequest request = new GetObjectRequest
{
BucketName = bucketName,
Key = keyName
};
using (GetObjectResponse response = client.GetObject(request))
using (Stream responseStream = response.ResponseStream)
using (StreamReader reader = new StreamReader(responseStream))
{
// The following outputs the content of my text file:
Console.WriteLine(reader.ReadToEnd());
// Do some magic to return content as a stream
}
}
}
更便宜的方法是在S3中使用预先签名的URL指向对象。这样,您就可以将过期的URL返回到您的资源中,而不需要进行任何流复制。这需要非常低的内存,因此您可以使用非常小且便宜的虚拟机。
这种方法只适用于少数资源和少数客户。随着请求的增加,您可能会达到AWS API的限制。
using (client = new AmazonS3Client(Amazon.RegionEndpoint.USEast2))
{
var request = new GetPreSignedUrlRequest()
{
BucketName = bucketName,
Key = keyName,
Expires = DateTime.UtcNow.AddMinutes(10),
Verb = HttpVerb.GET,
Protocol = Protocol.HTTPS
};
var url = client.GetPreSignedURL(request);
// ... and return url from here.
// Url is valid only for 10 minutes
// it can be used only to GET content over HTTPS
// Any other operation like POST would fail.
}
在。NET 4,您可以使用Stream。CopyTo复制响应流的内容(即Amazon.运行时。内部。Util.MD5Stream)到MemoryStream。
GetObjectResponse response = await client.GetObjectAsync(bucketName, keyName);
MemoryStream memoryStream = new MemoryStream();
using (Stream responseStream = response.ResponseStream)
{
responseStream.CopyTo(memoryStream);
}
return memoryStream;
其中客户端。GetObjectAsync(bucketName,keyName)
是在创建请求时调用GetObject
的替代方法。
我正在使用Spring Web创建一个rest资源。我用Java创建了类似于Json响应的文档对象。当我使用String.class作为响应类型时,我从请求中获取响应。当我更改对我创建的类的响应时,boy是null。 这是我的httpgetter Json文档 函数调用 JSON响应
问题内容: 是否可以从中获取Path对象? 我知道您可以使用方法将路径转换为文件,但找不到相反的转换。在Java 6或更低版本中有没有办法做到这一点? 问题答案: 是的,您可以使用从对象获取它。请记住,这仅适用于Java 7+。Java 6及以下版本没有它。
问题内容: 我有一个网址,返回的是这样的JSON对象: 我想获得价值。那么如何通过PHP检索它呢? 问题答案: $json = file_get_contents(‘url_here’); $obj = json_decode($json); echo $obj->access_token; 为此,需要启用它。可以通过在运行时完成以下操作来实现: 您也可以使用获取网址。要使用卷曲,可以使用中发现的
我有一个名为AnimalsData的文件,它有一个由数组组成的对象。数组由一个对象和另一个数组组成。它看起来像这样: 我的HTML文件如下所示: 我正试图获取的值的类名对象从动画类数组。我一直在使用以下两个stackoverflow页面作为指南: 访问JSON数组中的对象和访问/处理(嵌套)对象、数组或JSON 我有另一个javascript文件,其中包含以下内容: 编辑我将for in循环中的"
我有一个返回JSON对象的URL,如下所示: 我想从URL获取JSON对象,然后获取值。 那么如何通过PHP检索它呢?
我正在尝试编写一个可以搜索对象[]数组的SpEL表达式。下面是一些示例代码: 有谁能帮我写一个SpEL来搜索arr并找到第一个具有属性“bar”的对象并返回bar的值吗? 它的实际应用是,我正在为一个方面编写注释,并试图在注释中声明参数的路径: 非常感谢你的帮助!