我已经使用文件导入器获得了一个文件的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发送到服务器。