cordova - ionic 2 : Uploading docs, pdf 到服务器的表单

标签 cordova ionic2 hybrid-mobile-app

我在 ionic 2 中创建了一个表单,其中有一个字段可以上传 .docs 或 .pdf 类型的简历。我尝试添加如下,

<form [formGroup]="myForm">

<ion-list>
            <ion-item>

                <input type="file" formControlName="upresume_one" name="upresume_one"/>
                <p>Supported formats .doc,.docs and .pdf[Max file size: 500KB]</p>
            </ion-item>
       <div class="text-right">
                <button ion-button style="background-color: #16a085;color: white;" color="secondary" (click)="save(myForm.value)">Submit</button>
            </div>

        </ion-list>


</form>

我的 .ts 文件如下:
myForm: FormGroup;
  private myData: any;

constructor(public navCtrl: NavController, 
      public navParams: NavParams, 
      private builder: FormBuilder, 
      private userProfileService: UserProfileService,
      private progressDialog: ProgressDialog) {

this.myForm = builder.group({
 'upresume_one': ['', Validators.required]
})

在提交时,我正在调用如下所示的保存功能,
save(formData) {
console.log('Form data is ', formData);
}

在 consoel.log 中,即使在选择了有效文件后,我仍然为空。有人可以建议我在ionic 2中将输入类型文件集成到表单中的最佳方法是什么。

最佳答案

我终于找到了这个问题的答案。您必须有一个单独的 API 可用于上传文件。以下是在ionic 2中上传文件的详细步骤:

  • 首先将 ionic 文件选择器插件安装到您的应用程序中。 https://ionicframework.com/docs/native/file-chooser/
  • 将此代码保存在某个函数中,您可以通过一个按钮触发该函数,该按钮表示上传简历或某个文件。

  • this.fileChooser.open()
      .then(uri => console.log(uri))
      .catch(e => console.log(e));
    

  • 然后从这里将传输插件安装到您的应用程序中:https://ionicframework.com/docs/native/transfer/ 这可用于将文件上传到您的服务器。
  • 我用来从图库或相机拍照并通过 API 上传的完整代码在这里:https://gist.github.com/coolvasanth/ab61fc337e6561be4559171b74221b1a
  • 要上传 .pdf、.docs 类型的文件,请引用:
    https://gist.github.com/coolvasanth/b266c5bb382ddbfc60ca1c0f7c9f33c0
  • 要从手机捕获视频并通过 API 将其上传到服务器,请使用:https://gist.github.com/coolvasanth/8d0b6a4cea480bc7017bce0ba3ec5bdb
  • 要在 iOS 中选择媒体以外的文件(例如 .pdf、.doc),您可以引用以下链接。 https://gist.github.com/coolvasanth/d042a26deda75f5e390b42b87995f30d 。如果您想从 iCloud 中选择文件,请在 xcode 中启用此服务。您可以在项目 -> 功能 -> iTune 中找到它。
  • 关于cordova - ionic 2 : Uploading docs, pdf 到服务器的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43346710/

    相关文章:

    angular - Ionic:侧边菜单子(monad)菜单(下拉)

    css - 三星 Galaxy Tab 4 - 7 英寸媒体查询

    javascript - ionic : click event taking time for selecting places from Google Places api

    jquery - PhoneGap + jQuery = onclick 时奇怪的重画闪烁? (动画不透明度会导致闪烁)

    ios - Phonegap 3.0 电源管理

    angularjs - 如何使用 ionic 框架和 cordovaCamera-plugin 拍照并裁剪它们?

    ionic2 - Ionic2/Ionic3 中 --livereload 命令的用法

    javascript - 通过 Angular 2/Ionic 2 中的构造函数刷新数据

    ios - Cordova:有没有办法检测语音听写是否在 iOS 上结束

    html - ionic 行显示同一行中的所有元素