首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序IOS升级后imageURI的变化

应用程序IOS升级后imageURI的变化
EN

Stack Overflow用户
提问于 2014-02-01 23:34:53
回答 2查看 373关注 0票数 0

我有一个jquery移动应用程序(phonegap构建)。我有一个功能,可以从设备的照片库获取图像的uri。我将uri作为字符串存储在本地存储区中,因此下次打开页面时,图像将使用uri显示。所有这些都很好(我没有得到图像的数据UrI,因为我不想耗尽本地存储空间,而且由于学校使用的应用程序(隐私问题),我当然不想将图像上传到服务器上)。不过,在这个装置上没问题。所有的工作,直到我做一个更新的应用程序。安装更新后,图像的URI将发生变化。如何获得所选图片的静态URI。下面是从图库获取图像的代码。

代码语言:javascript
复制
  // JavaScript Document  //Get Picture stuff 
  navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, destinationType:
  destinationType.FILE_URI, sourceType:Camera.PictureSourceType.SAVEDPHOTOALBUM});

   var pictureSource;   // picture source
   var destinationType; // sets the format of returned value 
   pictureSource=navigator.camera.PictureSourceType;
   destinationType=navigator.camera.DestinationType;

   function onPhotoURISuccess(imageURI) {
   // Uncomment to view the image file URI 
     console.log(imageURI);
     localStorage.setItem("piclink", imageURI)

   // Get image handle
    var largeImage = document.getElementById('largeImage');

    // Unhide image elements
     largeImage.style.display = 'block';

    // Show the captured photo
     // The inline CSS rules are used to resize the image
     largeImage.src = imageURI;
     }
     // Called if something bad happens.
    function onFail(message) {alert('Failed because: ' + message);
     }

我应该指出,我应用的更新不会对相机代码进行任何更改。所有数据都保存在本地存储空间中,我可以通过控制台看到它保存和调用URI没有问题,但是在更新后的URI路径中,路径发生了变化(大量的数字和破折号)。bTW,安卓版本没有问题。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-06 18:06:21

我的理解是,您要保存给imageURI的localStorage只是由CDV摄像机插件处理的名为临时文件的cdv_*。正如user2603892正确指出的那样,您关心的似乎是应用在更新中的新应用程序位置标识符。然而,consider...the相机插件可能会出现其他一些问题,这些插件顺序将临时文件命名为从库中挑选出来的文件,或者是照片。cdv_photo_001.jpg,cdv_photo_002.jpg等。这种情况一直持续到您执行camera.cleanup()操作,该camera.cleanup()删除cdv_*文件。

插件将这些文件存储在应用程序根目录下的/tmp文件夹中。显然,这也不会被iOS在更新时复制。

来自模拟器的示例: imageURI =imageURI

建议将您的文件(而不是文件名)重命名并保存到1) Documents文件夹,或2)应用程序支持文件夹,然后引用它供将来使用。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2014-05-05 10:39:31

我知道这是一个旧的职位,但我想我会分享我的发现,希望它将有助于其他人。我在一个应用程序中遇到了同样的问题,它必须在本地存储图像,而不将它们上传到服务器。似乎出现了这个问题,因为iTunes将更新安装在一个新的应用程序目录中,如iOS应用程序编程指南中所述。

在应用程序更新期间保存的文件当用户下载应用程序更新时,iTunes将更新安装到新的应用程序目录中。然后,在删除旧安装之前,将用户的数据文件从旧安装移到新的应用程序目录。在更新过程中,保证保存下列目录中的文件:

代码语言:javascript
复制
<Application_Home>/Documents
<Application_Home>/Library 

虽然其他用户目录中的文件也可能被移到上面,但是您不应该依赖它们在更新后出现。

正如讨论过的这里

您在文章中提到的“大量数字和破折号”是应用程序目录。这在每次更新上都会发生变化,因此在更新后保存的URI将与当前的URI不同。

我仍在四处寻找工作,但还没有找到任何东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21505096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档