【发布时间】:2019-01-17 03:41:43
【问题描述】:
我的任务是找到一种方法来保存文件,给出指向某人亚马逊存储桶的链接。这些文件是上传到票务系统的附件,当我使用他们的 API 提取票时,我会得到一个类似下面的链接(我删除了所有私人内容并替换为 XXXXX)
如您所见,链接在 1 天后超时。我将 2 个 API 连接在一起,我需要能够将实际文件上传到第二个 API,而不是仅仅放置一天后超时的链接。我曾尝试使用 Webclient downloadfileAsync,但我得到的只是一个空白文件输出。我可以转到浏览器中的链接并右键单击,将图像另存为,所以我知道它是可能的,但我没有以编程方式获得任何运气。以下是我目前用来尝试下载的代码片段。
using (WebClient wc = new WebClient())
{
wc.DownloadFileAsync(new System.Uri(url), "image.jpg");
}
任何见解或帮助都会很棒。
提前致谢!
【问题讨论】:
-
我曾经遇到过类似的问题,以编程方式下载一些东西 - 它在浏览器中工作,但不是来自我的代码。我发现我必须欺骗我的请求的用户代理,以便服务器将我视为浏览器。
-
这听起来很有希望,你是如何欺骗服务器认为你是浏览器的?
-
文件是否为空,因为您在异步下载完成之前对其进行了查询?
-
我也想过这种可能性,我只是在文件资源管理器中查看文件的大小。不过,我给了它一分钟左右的时间。我将使用非异步运行进行测试,看看会发生什么......好吧,我试过了。成功了!!!!
标签: c# amazon-web-services amazon-s3