注册 登录
主题 : 请教将相册中的照片和视频上传到服务器,怎么保留文件原有的属性?比如创建时间
级别: 新手上路
UID: 600453
精华: 0
发帖: 2
可可豆: 11 CB
威望: 11 点
在线时间: 2(时)
注册时间: 2016-12-12
最后登录: 2017-07-19
0 楼:  发表于: 2017-07-13 16:57    发自: Web Page
来源于 技术求助 分类

请教将相册中的照片和视频上传到服务器,怎么保留文件原有的属性?比如创建时间   

我目前采用的方案是:遍历相册,获取到每张图片或者视频的PHAsset 资源,然后通过 requestImageDataForAsset 获取 该资源的原图,写入沙盒,再上传。以图片为例
imageManager().requestImageDataForAsset(asset, options: defaultOptions) { (imageData, str, UIImageOrientation, info) in
            if imageData != nil {
                dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
                    .......
                    ...... imagePath = 该图片存储在沙盒的位置
                     imageData.writeToFile(imagePath, atomically: true)  // 将图片的二进制文件写入沙盒。

                    ......
                     uploadFile(remoteFile, localFile: localFile) //  上传图片到服务器。 remoteFile : 是服务器图片存放位置  localFile: 是刚刚写入沙盒内该图片的位置
                
                })
            }
        }
在服务器发现 图片的创建时间和修改时间都是当前时间,没有图片原始的拍摄时间了,怎么解决? 应该怎样才能保留原有文件的属性信息写到沙盒?
级别: 新手上路
UID: 600453
精华: 0
发帖: 2
可可豆: 11 CB
威望: 11 点
在线时间: 2(时)
注册时间: 2016-12-12
最后登录: 2017-07-19
1 楼:  发表于: 2017-07-13 17:06    发自: Web Page
没有人会么? 在线等啊,大牛们呢?
级别: 精灵王

状态: 连续签到 - [20天]
UID: 349
精华: 6
发帖: 108
可可豆: 13228 CB
威望: 13203 点
在线时间: 2272(时)
注册时间: 2008-07-29
最后登录: 2017-09-12
2 楼:  发表于: 2017-07-26 01:32    发自: Web Page
ImageIO.framework里有你需要的答案, 利用ImageIO可以取到exif信息, 然后利用CGImageDestinationRef的方式来保存带exif信息的图片

"ImageIO/CGImageSource.h"
"ImageIO/CGImageProperties.h"

Some rather naïve people assume that I learned from a book, still others even think I took a class to learn all of this! I can say definitively that it’s in my opinion that to be a great iOS developer, you just need to write apps, and lots of them. Experiment, try different things out. (from: http://nachbaur.com/)
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部