【问题标题】:How to get the size of pdf in bytes and assign it to the Data variable?如何以字节为单位获取 pdf 的大小并将其分配给 Data 变量?
【发布时间】:2020-01-27 15:39:08
【问题描述】:

我已经像下面这样定义了 documentPicker,但我现在想获取上传的 pdf 的大小(以字节为单位)。

func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]){
self.parent.docData = // here the assigned value should be the size of the pdf

}

例如,它在如下图像的情况下工作:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
            let image = info[.originalImage] as! UIImage
            let picdata = image.jpegData(compressionQuality: 0.25)
            self.parent.picData = picdata!
            self.parent.picker.toggle()
        }

【问题讨论】:

    标签: ios swift uiimagepickercontroller uidocumentpickerviewcontroller


    【解决方案1】:

    let bcf = ByteCountFormatter() bcf.allowedUnits = [.useBytes] bcf.countStyle = .file let string = bcf.string(fromByteCount: Int64(picdata.count)) 根据[.useBytes]此字段的要求更改大小单位。希望这可以帮助。

    【讨论】:

    • 感谢您的回复,但由于我将值 string 分配给了 self.parent.docData = string,它显示了不匹配的数据类型。
    • 显然它正在返回一个字符串,尝试picdata.countdata 值分配给另一个data
    • picData 它可以工作,但我需要像 picData 一样定义 docData。我得到你尝试零字节的情况
    • 好吧,使用下面的一个来转换你拾取的文件转换成datalet data = try! Data(contentsOf: urls[0])我认为data是由document Picker从你的文件中创建的数据文件。
    • 请问哪一个?我想要的是,从firestore的urls.first获取文档的大小(以字节为单位)并将其分配给self.parent.docData
    猜你喜欢
    • 1970-01-01
    • 2013-02-01
    • 2013-02-06
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多