javascript - 有什么方法可以使用拖放以 Angular 上传 .ply、.STL、.obj 文件吗?

标签 javascript angular typescript

我的问题是,我想上传 .ply、.STL、.obj 等 Angular 3d 模型。目前我正在使用 ng2-upload 插件进行拖放,它不支持这些文件类型。无论何时上传文件,它都不会获得 MIME 类型。

下面是我的代码:

 imga = "http://icons.iconarchive.com/icons/hopstarter/soft-scraps/256/Button-Upload-icon.png";



       public uploader:FileUploader = new FileUploader({url: URL});
          public hasBaseDropZoneOver:boolean = false;
          public hasAnotherDropZoneOver:boolean = false;
          public selectedFilesArray = [];
          private selectedFile;

        public selectFile(e: any): void {
        var target = e.target || e.srcElement || e.currentTarget;
        var value = target.innerHTML;
        this.selectedFile = value;
        this.selectAll = true;
        this.selectedFilesArray = [];
        this.selectedFilesArray.push(this.selectedFile);

      }
      public fileOverBase(e: any): void {
        this.hasBaseDropZoneOver = e;
      }

        public selectAllFiles(e: any): void {

        this.selectedFilesArray = [];
        if (e.target.checked) {

          this.selectAll = true;

          for (var item in this.uploader.queue) {
            this.selectedFilesArray.push(this.uploader.queue[item].file.name);
          }




        }


      }

我正在尝试使用 ng2-file-upload 上传各种文件,在这里我可以上传所有文件类型,如 png、jpg 等,除了 .ply 文件,那么我如何上传具有该扩展名的文件?

下面是我的代码:

  imga = "http://icons.iconarchive.com/icons/hopstarter/soft-scraps/256/Button-Upload-icon.png";

  public uploader:FileUploader = new FileUploader({url: URL});
  public hasBaseDropZoneOver:boolean = false;
  public hasAnotherDropZoneOver:boolean = false;
  public selectedFilesArray = [];
  private selectedFile;



    public selectFile(e: any): void {
    var target = e.target || e.srcElement || e.currentTarget;
    var value = target.innerHTML;
    this.selectedFile = value;
    this.selectAll = true;
    this.selectedFilesArray = [];
    this.selectedFilesArray.push(this.selectedFile);

  }
  public fileOverBase(e: any): void {
    this.hasBaseDropZoneOver = e;
  }

    public selectAllFiles(e: any): void {

    this.selectedFilesArray = [];
    if (e.target.checked) {

      this.selectAll = true;

      for (var item in this.uploader.queue) {
        this.selectedFilesArray.push(this.uploader.queue[item].file.name);
      }




    }


  }

下面是我的 stackblitz 网址:https://stackblitz.com/edit/angular-r6cbrj

最佳答案

ply 不是 ng2-file-upload 可识别的 MIME 类型。您可以在此处的源代码中找到所有受支持的 MIME 类型:

https://github.com/valor-software/ng2-file-upload/blob/development/src/file-upload/file-type.class.ts

如您所见,对于未列出的文件扩展名,内容类型设置为 application

关于javascript - 有什么方法可以使用拖放以 Angular 上传 .ply、.STL、.obj 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54853825/

相关文章:

node.js - 为什么 TypeScript 找不到名称 'Express' ?

Angular2 : check file existance with http. 获取

angular - 没有参数值的路由; Angular 路由重定向 - 我可以使用 redirectTo 来参数路径吗?

javascript - 使用 javascript 创建 reamore 按钮

javascript - 为什么我的嵌套折叠元素没有触发 "show/shown/hide/hidden.bs.collapse"?

angular - 自定义 Angular FormField 在配置为不触发时发出事件

javascript - 自定义 google-chart hAxis 标签

javascript - 从函数中删除基于 url

javascript - 在 jquery 自动完成中访问建议

javascript - React Native - Jest.mock 必须是内联函数。测试使用 'withNavigation' 的组件时出现问题