使用UIActivityViewController控制UIImage的文件名

时间:2013-03-18 14:30:32

标签: ios uiimage uikit uiactivityviewcontroller

我正在与UIActivityViewController共享一个图片,以及一个网址和一些文字。一切都很好,除了图像文件名总是'Image-1'没有扩展名。在某些情况下,这会导致一个大问题,例如在邮件应用程序中,根本不会打开没有扩展名的图像。

图像由应用程序生成,并以UIImage存在。

有没有办法控制文件名并为图像添加正确的扩展名?

2 个答案:

答案 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以获取可用于完成此操作的代码。这种方法有一些明显的缺点,但对于大多数应用来说可能已经足够好了。