Add view and download attachment buttons

This commit is contained in:
2020-12-01 12:02:31 +01:00
parent 88cd2bdc0d
commit 815b495aa0
2 changed files with 66 additions and 4 deletions

View File

@@ -26,10 +26,52 @@ struct AttachmentView: View {
var body: some View {
Divider()
HStack {
Text(attachmentName)
.font(.subheadline)
.multilineTextAlignment(.leading)
Spacer()
Button(action: {
guard let url = URL(string: attachmentUrl) else { return }
openURL(url)
}) {
Image(systemName: "envelope.open")
.foregroundColor(.blue)
.font(.body)
.padding()
}
.buttonStyle(PlainButtonStyle())
Button(action: {
guard let url = URL(string: attachmentUrl) else { return }
let downloadTask = URLSession.shared.downloadTask(with: url) {
urlOrNil, responseOrNil, errorOrNil in
guard let fileURL = urlOrNil else { return }
do {
let documentsURL = try
FileManager.default.url(for: .documentDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: false)
let savedURL = documentsURL.appendingPathComponent(fileURL.lastPathComponent)
try FileManager.default.moveItem(at: fileURL, to: savedURL)
} catch {
print ("file error: \(error)")
}
}
downloadTask.resume()
}) {
Image(systemName: "square.and.arrow.down")
.foregroundColor(.blue)
.font(.body)
.padding()
}
.buttonStyle(PlainButtonStyle())
}
}
}

View File

@@ -60,6 +60,26 @@ struct CircularView: View {
.buttonStyle(PlainButtonStyle())
Button(action: {
guard let url = URL(string: circular.url) else { return }
let downloadTask = URLSession.shared.downloadTask(with: url) {
urlOrNil, responseOrNil, errorOrNil in
guard let fileURL = urlOrNil else { return }
do {
let documentsURL = try
FileManager.default.url(for: .documentDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: false)
let savedURL = documentsURL.appendingPathComponent(fileURL.lastPathComponent)
try FileManager.default.moveItem(at: fileURL, to: savedURL)
} catch {
print ("file error: \(error)")
}
}
downloadTask.resume()
}) {
Image(systemName: "square.and.arrow.down")
.foregroundColor(.blue)