如何在SwiftUI 2中的变量中保存文件



我已经使用文件导入器获得了一个文件的URL。现在我想将文件存储在一个变量中,以便将其发送到服务器。

.fileImporter(isPresented: $openfile, allowedContentTypes: [.audio,.pdf,.png, .text, .jpeg], allowsMultipleSelection: false) { (res) in

do{
let fileURL = try res.get()
//getting file name
self.fileName = fileURL.last?.lastPathComponent ?? "File Uplaoded"
print(fileURL)
}catch{
print("Error reading docs")
print(error.localizedDescription)
}
}

如何从fileURL将文件保存在变量中?

stackoverflow的答案向您展示了如何获取文件内容。你必须根据你的代码调整答案,比如:

var fileData: Data?

.fileImporter(isPresented: $openfile, allowedContentTypes: [.audio,.pdf,.png, .text, .jpeg], allowsMultipleSelection: false) { (res) in           
do{
let fileURL = try res.get()
if let url = fileURL.first {
fileName = url.lastPathComponent
fileData = try Data(contentsOf: url)
print("n fileName: (fileName) n url: (url) n fileData: (fileData)")
}
}catch{
print("Error reading docs")
print(error.localizedDescription)
}
}

然后您可以使用fileData发送到服务器。

最新更新