gpt4 book ai didi

ios - AWSS3GetObjectRequest.ifModifiedSince 似乎不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 08:06:01 24 4
gpt4 key购买 nike

我无法让 ifModifiedSince 工作。这是我的代码:

func updateDatabase()
{
let objectRequest = AWSS3GetObjectRequest()
objectRequest?.key = "wa/wa2016/idahoGmu.tiff"
objectRequest?.bucket = bucketName

let dateComponents = NSDateComponents()
dateComponents.day = 10
dateComponents.month = 4
dateComponents.year = 2018
let date = NSCalendar.current.date(from: dateComponents as DateComponents)

// TODO This isn't working. It grabs the file regardless of date.
objectRequest?.ifModifiedSince = date

let s3 = AWSS3.default()

s3.getObject(objectRequest!).continueWith
{
(task) -> AnyObject! in if let error = task.error
{
print("Error: \(error.localizedDescription)")
}

if let result = task.result
{
let fileManager = FileManager.default
let documents = Bundle.main.resourcePath
let writePath = documents?.appending("/Content/idahoGmu.tiff")
let output = result as AWSS3GetObjectOutput

let fileData = output.body as! Data
fileManager.createFile(atPath: writePath!, contents: fileData, attributes: nil)
}

return nil;
}
}

我在格式化日期方面做错了什么吗?我阅读了这个关于日期格式的问题(但据报道现在已修复): AWSS3GetObjectRequest ifModifiedSince not working

当我打印出日期时,它看起来像这样:

2018-04-10 07:00:00 +0000

最佳答案

也许您可以将 ifModifiedSince 替换为 AWSS3HeadObjectRequest(),例如:

// create a date to compare
let formatter = DateFormatter()
formatter.dateFormat = "yyyy/MM/dd"
let checkDate = formatter.date(from: "2016/10/08")

// make a request to AWS S3, to get a info of file
let request = AWSS3HeadObjectRequest()!
request.bucket = bucket
request.key = key
AWSS3.default().headObject(request).continue({
task -> Any? in

if let result = task.result,
((result as AWSS3HeadObjectOutput) != nil) {

let servDate = result.lastModified!
if checkDate < servDate {
// my file was modified after 2016/10/08
} else {
// my file was NOT modified after 2016/10/08
}
}
}

You can see a example where.我在 checkDownloadCache(bucket:key) 函数中使用类似的东西来创建缓存系统。

关于ios - AWSS3GetObjectRequest.ifModifiedSince 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43148761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com