小编Imm*_*mid的帖子

Angular:上传 Excel/Pdf 文件并在发布之前将其转换为 BLOB

我目前在前端使用 Angular,需要使用表单上传文件并将其转换为 blob,然后再将文件发送到服务器。

我真正想做的:我想从本地系统上传一个文件,然后在进行一些验证后将其转换为 blob。

这是我的 HTML

<input type="file" (change)="changeFile($event)">
Run Code Online (Sandbox Code Playgroud)

这是我的方法

changeFile(event) {
   console.log(event);
   var oReq = new XMLHttpRequest();
   oReq.open("GET", `/${event.target.files[0].name}`, true);
   oReq.responseType = "blob";

   oReq.onload = function(oEvent) {
     var blob = oReq.response;
     console.log(blob)
   };

   oReq.send();
}
Run Code Online (Sandbox Code Playgroud)

它确实将其转换为 blob,但显示错误,因为我实际上是从本地系统上传文件时尝试发出获取请求。如果任何人都可以分享相关信息或博客或任何有助于实现这一目标的内容,那就太好了。

javascript typescript angular

6
推荐指数
1
解决办法
2万
查看次数

排除破坏 Angular Universal 的组件

我用NG-工具ng add @ng-toolkit/universal加角通用的支持,我的项目。

我能够创建没有错误的 prod 构建,而且我能够再次运行服务器,没有任何错误。当请求到达它时,它只会“卡住”(nodeJS 不呈现任何输出)。

我发现,我的一个组件正在破坏服务器端渲染。我发现问题出在 Mat-Carousel 上:

成分:

export class BannerComponent {

  slides: any[] = [
    // tslint:disable-next-line:max-line-length
    { image: 'assets/banner/banner-one.png' },
    // tslint:disable-next-line:max-line-length
    { image: 'assets/banner/banner-two.png' },
    // tslint:disable-next-line:max-line-length
    { image: 'assets/banner/banner-three.png' }
  ];

}
Run Code Online (Sandbox Code Playgroud)

模板:

<section class="sec-space-b" id="banner">
    <mat-carousel
        timings="250ms ease-in"
        [autoplay]="true"
        interval="5000"
        color="accent"
        maxWidth="auto"
        proportion="25"
        slides="5"
        [loop]="true"
        [hideArrows]="false"
        [hideIndicators]="false"
        [useKeyboard]="true"
        [useMouseWheel]="false"
        orientation="ltr"
      >
        <mat-carousel-slide
            #matCarouselSlide
            *ngFor="let slide of slides; let i = index"
            overlayColor="#00000000"
            [image]="slide.image"
            [hideOverlay]="false"
        ></mat-carousel-slide>
    </mat-carousel>
</section>
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?我可以以某种方式从服务器端构建中排除特定组件吗?

nodes typescript angular

5
推荐指数
1
解决办法
1705
查看次数

如何在Angular 6上处理多个htttp请求

我有一个函数试图将3个请求链接在一起,如下所示:

showProfileDetails() {
  this.getUserInfo(this.currentUser.id).pipe(
    mergeMap(e =>
      this.getAccounts(this.currentUser.id)
    ),
    mergeMap(e =>
      this.getPayments(this.currentUser.id)
    )
  ).subscribe(data =>
    console.log('first attempt on observables: ', data)
  )
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是同步地从每个调用中检索数据并将其存储在变量中,这样我就可以在DOM中呈现数据.

但我得到的只是上次调用的数据,btw返回错误,如何在不停止此过程的情况下处理此错误?在此先感谢,我是Angular的新手.

javascript observable rxjs typescript angular

0
推荐指数
1
解决办法
82
查看次数

我的Ruby程序打印对象的检查而不是定义的to_s方法

最后,当我尝试在我的ruby程序中添加splat并打印red_team时没有显示我传递的内容,但它显示了地址.

只需在终端上运行这段代码,您就会知道我在说什么.它告诉我这个

Power Rangers team: `#<Context::Player:0x0000000252c3d8>, #<Context::Player:0x0000000252c298>, #<Context::Player:0x0000000252c158>, #<Context::Player:0x0000000252c018>, #<Context::Player:0x0000000252bed8>`
Run Code Online (Sandbox Code Playgroud)

我的代码:

        class Player
            attr_accessor :name, :age, :skill_level

            def initialize (name, age, skill_level)
                @name = name
                @age = age
                @skill_level = skill_level
            end

            def to_s
                puts "<#{@name}: #{@skill_level}(SL), #{@age}(AGE)"
            end
        end

        class Team
            include Enumerable
            attr_accessor :name, :players

            def initialize (name)
                @name = name
                @players = []
            end

            def add_players (*players)
                @players += players
            end

            def to_s
                "#{@name} team: #{@players.join(', ')}"
            end

            def each
                @players.each  {|player| yield player}
            end
        end

        player1 …
Run Code Online (Sandbox Code Playgroud)

ruby

-2
推荐指数
1
解决办法
59
查看次数

标签 统计

angular ×3

typescript ×3

javascript ×2

nodes ×1

observable ×1

ruby ×1

rxjs ×1