总结问题: 大家下午好,
我觉得我不了解storageref.downloadURL()
。我已经尝试了一遍又一遍地下载Firebase存储中已经上传的文件夹的URL。我将它们分开,如下所示:用户输入的song / songName / {song file.mp3,song photo.jpg}
注意:{}-是第二个文件夹中的项目。
现在这些图像已经上传,我正在尝试在EACH文件夹中获取图像的jpg,以便可以在水平表格视图中列出它们,以便用户可以滚动浏览它们并选择他们想要的歌曲听。出于某种原因,当我尝试下载URL时,我不断得到“对象歌曲/ 歌曲名称不存在”的信息。
描述您尝试过的方法:
我尝试过放置storage.reference().child("songs")
,storage.reference().child("songs/\(self.songName)")
并可能更新所有功能列表,以便随后可以再次遍历每个文件。但是我被困在这里,因为我在想也许是一个完成处理程序,但是我还不太擅长这些。我还尝试对results.prefixes
拥有的索引数量运行一个for循环,并在下载每个URL时更新每个文件夹。但这似乎也不起作用。
某些代码:
func getAlbums() {
let storage = Storage.storage()
let FolderName = "\(NSUUID().uuidString)"
let storageRef = storage.reference().child("BeatFiles")
self.jpgOfSong.append(FolderName)
let metadata = StorageMetadata()
metadata.contentType = "image/jpeg"
storageRef.listAll(completion: {(result,error) in
if let error = error {
print(error.localizedDescription)
}
else {
self.FolderList = result.prefixes
DispatchQueue.main.async {
for num in self.FolderList.indices {
//give songName the new name
//update the search
self.FolderList[num]?.downloadURL(completion: {
(url,error) in
if let error = error {
print(error.localizedDescription)
}
else {
self.imageref = NSImage(contentsOf: url!.absoluteURL)
self.imageArray.append(self.imageref!)
}
})
}
}
}
})
}
如您所见,我也尝试过使用元数据,但这似乎也不起作用。我很沮丧。