2016-11-28 56 views
1

就像在普通HTTP POST请求上一样。我们可以添加无限参数作为表单数据。使用iOS AWS S3 SDK上传时如何?使用iOS Swift将具有额外参数的文件上传到AWS S3

我的iOS功能

let uploadRequest   = AWSS3TransferManagerUploadRequest(); 
uploadRequest?.body   = NSURL(string: "file://\(path)") as URL!; 
uploadRequest?.key   = "file_name"; 
uploadRequest?.bucket  = aws_s3_bucket_path; 
uploadRequest?.contentType = "image/" + file_extension; 

有什么办法,我可以添加更多的参数发送给我的lambda函数?

+0

你要添加什么类型的额外参数? –

+0

嗨Karthick,像照片,标题,用户信息上传它的标题。有没有办法? – nemoryoliver

+0

不,您可以使用'key'属性在'AWS S3'中创建组/文件夹。像'folderName/FoderName/FileName'。 –

回答

1

你可以add extra parameters作为metaData给你的请求。

let uploadRequest   = AWSS3TransferManagerUploadRequest(); 
uploadRequest?.body   = NSURL(string: "file://\(path)") as URL!; 
uploadRequest?.key   = "file_name"; 
uploadRequest?.bucket  = aws_s3_bucket_path; 
uploadRequest?.contentType = "image/" + file_extension; 
uploadRequest?.metadata  = ["PhotoTitle" : " testName", "PhotoCaption" : "TestCaption", "UserName" : "TestName", "UserAge" : "TestAge"] 

谢谢:)

+0

嗨,先生..我读过元数据将被永久设置为文件。我试图传递一个访问令牌,我不想将它连接到一个文件。非常感谢 – nemoryoliver

+0

你想添加文件的访问令牌吗? –

+0

只是为了通过它,所以我可以将其用于验证目的...如果有重置元数据的方法,那么它可能是我的一个解决方法..你觉得在我设置iOS的元数据后,我可以稍后重置它从节点JS? – nemoryoliver