如何使用Angular 4将上传的excel文件发送到C#Post API

时间:2017-08-14 21:32:43

标签: angular c#-4.0 epplus-4

var fd = new FormData();
fd.append('file', data.target.files[0]);
return this.http.post(url), fd).map().catch();

使用AngularJS它正在工作但是对于角度4当我使用相同的方式它不工作时。我在上传excel文件时出现磁盘错误。请帮助我。

2 个答案:

答案 0 :(得分:1)

以下是一个示例,我用它通过FormData将文件上传到API。

在像<div class="header"> <div class="image"> image of page goes here </div> <div class="navigation"> Navigation of page goes here </div> </div> <div class="content"> <p>Am no an listening depending up believing. Enough around remove to barton agreed regret in or it. Advantage mr estimable be commanded provision. Year well shot deny shew come now had. Shall downs stand marry taken his for out. Do related mr account brandon an up. Wrong for never ready ham these witty him. Our compass see age uncivil matters weather forbade her minutes. Ready how but truth son new under. Breakfast procuring nay end happiness allowance assurance frankness. Met simplicity nor difficulty unreserved who. Entreaties mr conviction dissimilar me astonished estimating cultivated. On no applauded exquisite my additions. Pronounce add boy estimable nay suspected. You sudden nay elinor thirty esteem temper. Quiet leave shy you gay off asked large style. Betrayed cheerful declared end and. Questions we additions is extremely incommode. Next half add call them eat face. Age lived smile six defer bed their few. Had admitting concluded too behaviour him she. Of death to or to being other. Received shutters expenses ye he pleasant. Drift as blind above at up. No up simple county stairs do should praise as. Drawings sir gay together landlord had law smallest. Formerly welcomed attended declared met say unlocked. Jennings outlived no dwelling denoting in peculiar as he believed. Behaviour excellent middleton be as it curiosity departure ourselves. On then sake home is am leaf. Of suspicion do departure at extremely he believing. Do know said mind do rent they oh hope of. General enquire picture letters garrets on offices of no on. Say one hearing between excited evening all inhabit thought you. Style begin mr heard by in music tried do. To unreserved projection no introduced invitation. Was justice improve age article between. No projection as up preference reasonably delightful celebrated. Preserved and abilities assurance tolerably breakfast use saw. And painted letters forming far village elderly compact. Her rest west each spot his and you knew. Estate gay wooded depart six far her. Of we be have it lose gate bred. Do separate removing or expenses in. Had covered but evident chapter matters anxious. Received overcame oh sensible so at an. Formed do change merely to county it. Am separate contempt domestic to to oh. On relation my so addition branched. Put hearing cottage she norland letters equally prepare too. Replied exposed savings he no viewing as up. Soon body add him hill. No father living really people estate if. Mistake do produce beloved demesne if am pursuit. Cause dried no solid no an small so still widen. Ten weather evident smiling bed against she examine its. Rendered far opinions two yet moderate sex striking. Sufficient motionless compliment by stimulated assistance at. Convinced resolving extensive agreeable in it on as remainder. Cordially say affection met who propriety him. Are man she towards private weather pleased. In more part he lose need so want rank no. At bringing or he sensible pleasure. Prevent he parlors do waiting be females an message society. Situation admitting promotion at or to perceived be. Mr acuteness we as estimable enjoyment up. An held late as felt know. Learn do allow solid to grave. Middleton suspicion age her attention. Chiefly several bed its wishing. Is so moments on chamber pressed to. Doubtful yet way properly answered humanity its desirous. Minuter believe service arrived civilly add all. Acuteness allowance an at eagerness favourite in extensive exquisite ye. Remain valley who mrs uneasy remove wooded him you. Her questions favourite him concealed. We to wife face took he. The taste begin early old why since dried can first. Prepared as or humoured formerly. Evil mrs true get post. Express village evening prudent my as ye hundred forming. Thoughts she why not directly reserved packages you. Winter an silent favour of am tended mutual. </p> </div>这样的服务文件中,您需要创建通过POST方法上传文件的功能。以下是此功能的示例:

upload.service.ts

现在您应该在组件中创建上传功能,例如getUploadHeaders() { let headers = new Headers({'Accept': 'application/json'}); headers.delete('Content-Type'); return headers; } addNewPost(newPost: FormData): Observable<FormData> { const endpoint = 'https://yourApiUrl.com'; return this.http .post(endpoint, newPost, { headers: this.getUploadHeaders() }) .catch((e) => this.handleError(e)); } 。以下是使用FormData上传函数的示例。

upload.component.ts

要通过FormData上传文件,您需要3个参数:API端点上的propertyName,此文件的文件和名称。 在你的fileToUpload: File = null; constructor(private uploadService: UploadService) { } handleFileInput(files: FileList) { this.fileToUpload = files.item(0); } saveFileToApi() { const saveForm: FormData = new FormData(); if (this.fileToUpload) { saveForm.append('fileFieldNameOnYourApi', this.fileToUpload, this.fileToUpload.name); } this.uploadService.addNewPost(saveForm).subscribe(() => { console.log('Upload success!'); }, error => { console.log('Upload failed!'); }); } 中,你需要有这样的形式:

upload.component.html

有关FormData的详细信息,请阅读this,有关FormData.append()的详细信息,请阅读this

答案 1 :(得分:0)

在服务中

public importMassUpdateExcel(file: FormData, id): Observable<any> { const headers = new Headers({ 'Authorization': '',//authorization token 'Content-Type': 'application/json; charset=UTF-8'// }); const options = new RequestOptions({ headers: headers }); return this.http .post(url, file, options) .map() .catch(); }