当前位置: 首页 > 知识库问答 >
问题:

如何使用Angular 2将。xlsx文件发送到web api?

庄康胜
2023-03-14

共有1个答案

李明贤
2023-03-14

您需要有一个文件上传的可注入服务,然后简单地从组件调用它。下面是代码

服务

import {Injectable, Inject} from '@angular/core';
import {Headers, Http, Response} from '@angular/http';
import { Subject }    from 'rxjs/Subject';
import {Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class FileUploadService {
 fileUpload(url: string, files: File[])
    : Promise<any> {
    progress$: any;
    progressObserver: any;
    progress: any;
    return new Promise((resolve, reject) => {
         let formData: FormData = new FormData(),
            xhr: XMLHttpRequest = new XMLHttpRequest();

        for (let i = 0; i < files.length; i++) {
            formData.append("FileUpload", files[i], files[i].name);
        }

        xhr.onreadystatechange = () => {
            if (xhr.readyState === 4) {
                if (xhr.status === 200) {
                    resolve(JSON.parse(xhr.response));
                } else {
                    reject(xhr.response);
                }
            }
        };

        xhr.upload.onprogress = (event) => {
            this.progress = Math.round(event.loaded / event.total * 100);
            this.progressObserver.next(this.progress);
        };
        xhr.open('POST', url, true);
        xhr.send(formData);
    });
}
}

组件

constructor(private fileUploadService: FileUploadService) {
}
this.fileUploadService.fileUpload(this.postURL,this.files)
            .then(dcDetailResponse => this.resetForm(dcDetailResponse))
            .catch(error => console.log(error));
[HttpPost]
public IHttpActionResult UploadDCDetail()     
 {
    if (HttpContext.Current.Request.Files.Count > 0)
     {
      }
 }
 类似资料:
  • 问题内容: 我的问题是可以使用ajax(jquery)将图像上传到服务器吗 以下是我的ajax脚本,无需重新加载页面即可发送文本 是否可以修改它以发送图像? 问题答案: 这可行。 是您要找的东西吗?

  • 问题内容: 我想知道如何将zip文件发送到WebApi控制器,反之亦然。问题是我的WebApi使用json传输数据。一个zip文件不可序列化,或者是流。字符串将可序列化。但是除了将zip转换为字符串并发送字符串之外,还必须有其他解决方案。这听起来是错误的。 任何想法如何做到这一点? 问题答案: 如果您的API方法期望使用,则可以从中提取流: 当使用张贴HTTP表单时,这对我有用。

  • 问题内容: Oracle文档说- TextMessage对象用于发送包含java.lang.String的消息。它从Message界面继承>,并添加文本消息正文。此消息类型可用于传输基于文本的消息,包括XML> content的消息。 这怎么可能?XML的内容是否仅是可发送的(通过将其转换为对象然后发送)?是否可以将XML文件以任何方式真正放入队列,然后在接收方读取? 问题答案: 请使用它,并且您

  • 问题内容: 我发现了无数关于如何使用jQuery和Ajax从json文件中检索数据的教程,但是没有关于如何将 数据发布到json文件中的* 教程。 *。 如果有人可以向我展示或给我发送有关如何执行此操作的小脚本,那就太好了。我到处都在搜索如何执行此操作,但是没有运气。我见过有人这样做的例子,但他们似乎忘记了分享我没有看到的重要信息。我使用ajax检索数据json文件没有问题。如果有人可以告诉我我是

  • Oracle文档说- TextMessage对象用于发送包含java的消息。lang.String。它继承了 这怎么可能?XML的内容是否只能发送(通过将其转换为对象然后发送)?XML文件真的可以以任何方式放在队列中,然后在接收器端读取吗?

  • 我创建了一个XML,我想将其作为附件发送到电子邮件。如何使用PHP做到这一点?我的代码不起作用 我有这个 /*附件文件 */ // 附件位置 //读取文件内容 /*设置电子邮件标题 */ // 生成边界 //电子邮件标题 多部分包装电子邮件内容和附件 //电子邮件内容//内容类型可以是文本/纯或文本/html //附件//编辑不同文件扩展名的内容类型 //发送电子邮件