【问题标题】:ionic save photo to device离子保存照片到设备
【发布时间】:2018-03-26 11:57:23
【问题描述】:

我正在使用以下代码来访问设备照片库, 但是它正在重新调整base64编码的字符串,所以我对如何处理这些信息有点困惑。我想将照片存储到应用程序存储目录(不是设备相册),然后获取图像 URL,以便将其添加到用户数据库。

takePhoto() {
console.log('take photo')
const options: CameraOptions = {
  quality: 100,
  destinationType: this.camera.DestinationType.DATA_URL,
  encodingType: this.camera.EncodingType.JPEG,
  mediaType: this.camera.MediaType.PICTURE,
  sourceType: this.camera.PictureSourceType.PHOTOLIBRARY
}
this.camera.getPicture(options).then((imageData) => {
  // imageData is either a base64 encoded string or a file URI
  // If it's base64:
  console.log(imageData)
  let base64Image = 'data:image/jpeg;base64,' + imageData;

}, (err) => {
  // Handle error
  console.log('camera error')
  console.log(err)
});

}

【问题讨论】:

    标签: angular typescript ionic-framework native ionic3


    【解决方案1】:

    尝试使用

    destinationType : Camera.DestinationType.FILE_URI
    

    此插件实现了一个文件 API,允许对驻留在设备上的文件进行读/写访问。 cordova-plugin-file

    【讨论】:

    • 如果他们用相机拍照会怎样?
    • 想在哪里存储照片?您不能存储到应用程序存储目录然后获取图像 URL。因为 URL 是对指定其在计算机网络上的位置的 Web 资源的引用。您应该将 base64 或 jpeg 文件发送到您的服务器,您的服务器代码将存储它并将 url 保存到您的数据库。对吗?
    • 我不知道。用户可以选择通过相机或他们的图书馆添加照片,..最后是 Facebook(第 2 阶段),因此理想情况下,所有方法都应该是一致的。过去,我会将图像保存到设备中,然后将路径存储在数据库中,但您是对的,最好将其存储在服务器上。这将如何在 base64 和 jpg 路径之间工作?
    • 如果您在服务器上使用 nodejs,您可以将 base64 转换为文件并保存您的文件,如本例中 stackoverflow.com/a/20272545/6108211 如果您使用 php - stackoverflow.com/a/15153931/6108211
    猜你喜欢
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2014-03-01
    • 2019-07-30
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多