Angular 2 - 上传文件

时间:2016-08-28 09:58:01

标签: post file-upload angular asmx

我需要在Angular 2应用中创建图像上传到我的网络服务器。任何人都能为我提供一些如何实现这一目标的指导吗?

这些是先决条件:

  • ASMX Web服务以JSON进行通信。
  • 用于沟通的邮政方法。
  • JPEG / PNG最大1MB。

我想遵循的概念(但失败了)

将JPEG内容加载到变量,使用Base64编码对其进行编码,并将其发布到ASMX服务,该服务将接受两个参数(用于身份验证和编码数据的令牌。

究竟是什么问题

Web服务是最简单的部分,它已经完成并且正在运行,但我无法设法获取文件内容以进行包含。我用过这个:

component.html

...
<input type="file" (change)="fileChangeEvent($event)" />
...

component.ts

private fileChangeEvent(fileInput: any) {
    let image = fileInput.target.files[0] as File;
    ...
}

正如您可能已经猜到的那样,问题出在File类中,因为它只提供了有关该文件的基本信息(名称,大小,最后修改,...)但我无法获取文件。或者至少我不知道如何获得它。我还在这里检查了其他问题,但是所有的答案都有一些不符合我要求的特殊问题。也许我只是失明,但我无法看到内容的来源。

那么,有没有人能够为我提供一些指导方针?

非常感谢你。

1 个答案:

答案 0 :(得分:0)

我已经把这个问题留给有经验的人,他们可以回答这个问题。虽然没有答案,但昨天我找到了答案。因此,经过对搜索短语的一些研究和修改,我找到了答案。有一个FileReader类型,可用于读取文件的内容。以下是答案的来源:

Getting byte array through input type = file

感谢原始回答,我知道该怎么做。