【问题标题】:How to save photos with custom name in cordova camera如何在科尔多瓦相机中保存自定义名称的照片
【发布时间】:2017-09-20 20:10:43
【问题描述】:

我想知道是否有办法给我用科尔多瓦相机拍摄的照片命名,如果我可以像从相册中搜索一样,用名字搜索,比如 photoName.jpg = mysearch

这是我用来拍照的服务。

        var _takePhotoOff = function(url) {
        return $q(function(resolve, reject) {
            var options = {
                quality: 50,
                destinationType: Camera.DestinationType.FILE_URI,
                sourceType: Camera.PictureSourceType.CAMERA,
                allowEdit: true,
                popoverOptions: CameraPopoverOptions,
                saveToPhotoAlbum: true
            };
            $cordovaCamera.getPicture(options).then(function(imageData) {
                var photo = {
                    url: url,
                    photo: imageData
                }
                resolve(photo);
            });

        });
    }

【问题讨论】:

标签: javascript angularjs cordova firebase ionic-framework


【解决方案1】:

您无法从插件中指定图像的名称,但您会在imageData 对象中找到包含文件名的图像信息,并且使用cordova-plugin-file 插件您可以访问和重命名文件。

【讨论】:

  • @MarioVillalobos 你是怎么解决这个问题的?它是科尔多瓦插件文件吗?如果是其他解决方案。请评论或提供链接参考
  • @ShrinuNamburu 我改变了我的大部分代码,但是插件文件有办法改变cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/…
  • @MarioVillalobos 如果您可以发布重命名特定文件的解决方案,这将非常有帮助。
【解决方案2】:

我会这样做

import { Injectable } from '@angular/core';
import { Camera } from '@ionic-native/camera';
import { FilePath } from '@ionic-native/file-path';
import { File } from '@ionic-native/file';

@Injectable()
export class CameraHandlerProvider {

  constructor(private camera: Camera, private filePath: FilePath, private file: File ) {

    }

    config = {
        quality: 100,
    destinationType: this.camera.DestinationType.FILE_URI,
    encodingType: this.camera.EncodingType.JPEG,
    mediaType: this.camera.MediaType.PICTURE
    }

    getPic(fileName: string) {
        this.camera.getPicture(this.config).then((imageData) => {
            this.filePath.resolveNativePath(imageData)
            .then((path) => {
                console.log(imageData, path);
                let imagePath = path.substr(0, path.lastIndexOf("/") + 1);
                let imageName = path.substring(path.lastIndexOf("/") + 1, path.length);
                this.file.moveFile(imagePath, imageName, this.file.dataDirectory, fileName)
                .then(newFile => {
                    console.log(newFile);
                })
                .catch(err => {
                    console.error(err);
                })
            })
            .catch((err) => {
                console.error(err);
            })
        }).catch((err) => {
            console.error(err);
        });
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 2015-12-24
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    相关资源
    最近更新 更多