我正在与UIActivityViewController
共享一个图片,以及一个网址和一些文字。一切都很好,除了图像文件名总是'Image-1'没有扩展名。在某些情况下,这会导致一个大问题,例如在邮件应用程序中,根本不会打开没有扩展名的图像。
图像由应用程序生成,并以UIImage
存在。
有没有办法控制文件名并为图像添加正确的扩展名?
答案 0 :(得分:0)
如果其应用程序生成了图像(UIImage
引用),那么您可以使用以下代码:
[mailComposer addAttachmentData: UIImagePNGRepresentation(viewImage) mimeType:@"" fileName:@"myImage.png"];
我在项目中使用了相同的代码,可以使用UIImagePNGRepresentation()
方法创建自己的 PNG 格式图像。
如果您需要 JPEG 图像,请使用UIImageJPEGRepresentation()
方法。然后使用.jpg
扩展名更改上述方法中的文件名。
有关这两种方法的更多详细信息,请参阅UIKit Class Reference
答案 1 :(得分:0)
我知道控制UIImage的文件名或编码类型的唯一方法是将其保存到设备上的文件中,然后将文件的URL提供给UIActivityViewController。请查看this answer以获取可用于完成此操作的代码。这种方法有一些明显的缺点,但对于大多数应用来说可能已经足够好了。