firebase上传图片不能用于离子3

时间:2018-02-04 01:31:37

标签: angularjs firebase ionic2 firebase-storage angularfire2

我不知道为什么,但我已经在网络上遵循了这么多指令,但是当我尝试使用函数的第二个参数时,我似乎无法工作.putString 它总是返回这个错误:

[object Object]
at viewWrappedDebugError (core.js:9503)
at callWithDebugContext (core.js:14749)
at Object.debugHandleEvent [as handleEvent] (core.js:14326)
at dispatchEvent (core.js:9703)
at core.js:10317
at HTMLButtonElement.<anonymous> (platform-browser.js:2614)
at t.invokeTask (polyfills.js:3)
at Object.onInvokeTask (core.js:4617)
at t.invokeTask (polyfills.js:3)
at r.runTask (polyfills.js:3)

这对我没有帮助,所以任何人都可以帮助我,这是我的代码:

captureDataUrl: string;
capture() {
 //setup camera options
 const cameraOptions: CameraOptions = {
   quality: 50,
   destinationType: this.camera.DestinationType.DATA_URL,
   encodingType: this.camera.EncodingType.JPEG,
   mediaType: this.camera.MediaType.PICTURE,
 };
 this.camera.getPicture(cameraOptions).then((imageData) => {
   // imageData is either a base64 encoded string or a file URI
   // If it's base64:
   this.captureDataUrl = 'data:image/jpeg;base64,' + imageData;
   alert(this.captureDataUrl);
 }, (err) => {
    alert(err);
 });
}
upload() : AngularFireUploadTask {

const filename = 'filename';

this.afStorage.ref(`users/${filename}.jpg`)
 .putString(this.captureDataUrl,'data_url')
 .then((snapshot)=>{
    alert(snapshot);
 })
 .catch((err)=>{
    alert(err);
 }) 

}

1 个答案:

答案 0 :(得分:0)

从我的观点来看,一切都是正确的......

在这里你可以找到我的方法:

static void EditAnnot(string PDF)
    {
        string OutPDF = @"C:\Users\AP037X\Desktop\test.pdf";
        iText.Kernel.Pdf.PdfDocument pdfDoc = new iText.Kernel.Pdf.PdfDocument(new iText.Kernel.Pdf.PdfReader(PDF), new iText.Kernel.Pdf.PdfWriter(OutPDF));

        iText.Kernel.Pdf.PdfDictionary pageDict = pdfDoc.GetPage(1).GetPdfObject();
        iText.Kernel.Pdf.PdfArray annots = pageDict.GetAsArray(iText.Kernel.Pdf.PdfName.Annots);

        if (annots != null)
        {
            for (int i = 0; i < annots.Size(); i++)
            {
                Console.WriteLine("Scan..");
                if (annots.GetAsDictionary(i) == null)
                {
                    Console.WriteLine("1");
                    //return;
                }
                iText.Kernel.Pdf.PdfString t = annots.GetAsDictionary(i).GetAsString(iText.Kernel.Pdf.PdfName.Contents);
                if (t == null)
                {
                    Console.WriteLine("2");
                    //return;
                }
                Console.WriteLine(t);
                if (Convert.ToString(t).Trim() == "Change")
                {
                    Console.WriteLine("Found");
                    Console.WriteLine(annots.Size());
                    iText.Kernel.Geom.Rectangle rect = annots.GetAsDictionary(i).GetAsRectangle(iText.Kernel.Pdf.PdfName.Rect);
                    iText.Kernel.Pdf.PdfString cont =  new iText.Kernel.Pdf.PdfString("New String");
                    iText.Kernel.Pdf.Annot.PdfFreeTextAnnotation NewAnnot = new iText.Kernel.Pdf.Annot.PdfFreeTextAnnotation(rect,cont);
                    float[] color = { 1f,1f,0f};

                    NewAnnot.SetColor(color);

                    NewAnnot.Put(iText.Kernel.Pdf.PdfName.Contents, new iText.Kernel.Pdf.PdfString("lion"));
                    NewAnnot.Put(iText.Kernel.Pdf.PdfName.Font, *What to type here?*);
                    annots.Remove(i);
                    annots.Add(i, NewAnnot.GetPdfObject());                    
                }
            }

        }
        pdfDoc.Close();
        CompressPDF(OutPDF);
    }

希望它有所帮助!