离子角相机或文档扫描仪文件上传

问题描述

上传Ionic Document Scanner插件拍摄的图像时遇到麻烦。

我获得了图像路径,并且可以在img标签中预览它,但是我无法将其上传到我的Asp.Net Wep API。

当我使用文件输入上传文件时,它运行良好。但不适用于扫描的图像或照相机图像。

我认为问题是我具有本地存储URL(例如,文件:///storage/emulated/0/Pictures/1597104575209.jpg),但没有文件本身要上传。

这是我的page.ts文件:

  scanId(){
      const opts: DocumentScannerOptions = {
          sourceType: DocumentScannerSourceType.CAMERA,fileName: 'docscan.jpg',quality: 2.5,returnBase64: false // get local path
      };
      this.docScanner.scanDoc(opts)
          .then((res: any) => {
            this.imagenUpload = res; // file:///storage/emulated/0/Pictures/1597104575209.jpg
            const img = window.Ionic.WebView.convertFileSrc( res );
            this.imagen = img;
          })
          .catch((error: any) => console.error(error));
  }


  uploadImage(){
      const headers = new HttpHeaders({
        Authorization: `Bearer ${this.usuarioService.token}`
      });

      const formData = new FormData();
      formData.append('archivo',this.imagenUpload,'test123.jpg'); //Sending image in body with key 'archivo'

      this.httpClient.post(this._url,formData,{headers}).subscribe((res) => {
      // res contains server response
          console.log(res);
      },err => {
          console.log(err);
      });
  }

这是我的Asp.Net API:

        [HttpPost]
        [Authorize]
        [Route("LicensePic")]
        public IHttpActionResult UploadLicensePic()
        {
            HttpPostedFile file = HttpContext.Current.Request.Files["archivo"];

            if (file != null && file.ContentLength > 0)
            {
                var fileName = Path.GetFileName(file.FileName);

                var path = Path.Combine(
                    @"C:\Temp\RS Api",fileName
                );

                file.SaveAs(path);

                var rpta = new
                {
                    status = "ok",descri = "File uploaded",file = file.ContentType
                };
                var result = Request.CreateResponse(HttpStatusCode.OK,rpta);
                return ResponseMessage(result);
            }
            else
            {
                var rpta = new
                {
                    status = "error",descri = "Missing file to upload"
                };
                var result = Request.CreateResponse(HttpStatusCode.BadRequest,rpta);
                return ResponseMessage(result);
            }
        }

API的响应是正文没有附件。如果我尝试上传Camera插件结果,也会发生同样的情况。仅适用于文件输入。

有人可以在这里帮助我吗?我是Ionic的新手,所以我不知道如何正确处理“相机”或“扫描仪”结果。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...