如何让用户向我的应用程序添加附件,如 pdf 或 jpg,然后如何将其存储在我的 Realm 数据库中?
How can I let the user add an attachment to my app like a pdf or jpg and then how can I store it in my Realm Database?
这是我存储在 Realm 数据库中的对象的代码
class Accomp2: Object {
@objc dynamic var title: String = ""
@objc dynamic var date: Date!
@objc dynamic var month:String = ""
required init() {
}
@objc dynamic var body:String = ""
@objc dynamic var type:String = "Professional"
@objc dynamic var identifier:String = ""
}
我希望能够将附件存储在一个名为 attachment
的变量中,但我不确定这是什么类型的变量。
有了这个对象,我希望能够在视图控制器上将这个附件显示为图片。
如果 Realm 数据库无法做到这一点,是否有另一种存储附件的方法?
你想要的是 NSData() 例如Swift Data() 对象 - 他是一些简单的代码作为概念示例。
let url = //your file
let myData = Data(contentsOf: url) //please handle the optional correctly
class Accomp2: Object {
@objc dynamic var acc_id = UUID().uuidString
@objc dynamic var name = ""
@objc dynamic var value = Data()
}
let x = Accomp2()
x.name = "Some name"
x.value = myData
重要!
虽然您可以这样做,但您可能不应该这样做。
Realm 不太适合处理对象内的文档。如果它是缩略图或几百 kb,就可以了。但是 PDF 可以变得巨大,而 Realm 不是正确的解决方案。
您应该将文件存储在另一个专为存储文件而设计的来源中 - Firebase Cloud Storage 就是一个这样的选项,然后将 URL 存储到您的 Realm 对象中的文件中。
这是我存储在 Realm 数据库中的对象的代码
class Accomp2: Object {
@objc dynamic var title: String = ""
@objc dynamic var date: Date!
@objc dynamic var month:String = ""
required init() {
}
@objc dynamic var body:String = ""
@objc dynamic var type:String = "Professional"
@objc dynamic var identifier:String = ""
}
我希望能够将附件存储在一个名为 attachment
的变量中,但我不确定这是什么类型的变量。
有了这个对象,我希望能够在视图控制器上将这个附件显示为图片。
如果 Realm 数据库无法做到这一点,是否有另一种存储附件的方法?
你想要的是 NSData() 例如Swift Data() 对象 - 他是一些简单的代码作为概念示例。
let url = //your file
let myData = Data(contentsOf: url) //please handle the optional correctly
class Accomp2: Object {
@objc dynamic var acc_id = UUID().uuidString
@objc dynamic var name = ""
@objc dynamic var value = Data()
}
let x = Accomp2()
x.name = "Some name"
x.value = myData
重要!
虽然您可以这样做,但您可能不应该这样做。
Realm 不太适合处理对象内的文档。如果它是缩略图或几百 kb,就可以了。但是 PDF 可以变得巨大,而 Realm 不是正确的解决方案。
您应该将文件存储在另一个专为存储文件而设计的来源中 - Firebase Cloud Storage 就是一个这样的选项,然后将 URL 存储到您的 Realm 对象中的文件中。