@ApplePrime Я обновил свой ответ, пожалуйста, проверьте его. Спасибо
ичок в AWS, я выполнил загрузку некоторых файлов в AWS S3 с преобразованием файлов TransferUtility. Здесь мои шаги сценария
1. Выбор файлов из iCloud
public func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
let fileurl: URL = url as URL
let filename = url.lastPathComponent
let file-extension = url.pathExtension
let filedata = url.dataRepresentation
// Call upload function
upload(file: fileurl, keyname: filename, exten: file-extension)
// Append names into array
items.append(item(title: filename, size: string))
self.tableView_util.reloadData()
2. Загрузите этот файл в AWS S3 с помощью утилиты передачи
private func upload(file url: URL, keyname : String, exten: String) {
transferUtility.uploadfile(file ur,
bucket: "YourBucket",
key: "YourFileName",
contentType: "text/plain",
expression: expression,
completionHandler: completionHandler).continueWith {
(task) -> AnyObject! in
if let error = task.error {
print("Error: \(error.localizedDescription)")
}
if let _ = task.result {
// Do something with uploadTask.
}
return nil;
}
3. При загрузке необходимо показывать каждый статус загрузки файла в ячейку таблицы.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cellutil", for: indexPath) as! UtilityTableViewCell
let item = items[indexPath.row]
}
Моя проблема: в виде таблицы я могу показать загружаемые элементы, но первая загрузка остановилась, когда я загружаю следующий. Мне нужно добиться параллельной загрузки нескольких файлов и отображения статуса ячейки.