我对Angular 2相当陌生,请考虑一下。
我在使用angular 2将文件上传到节点服务器时遇到了一个问题。使用邮递员很管用:
<label for="file1">Upload PDF version: </label>
<form class="form-inline">
<div class="form-group">
<input type="file" id="file1" #abc name="fileToUpload" class="form-control" placeholder="Upload PDF">
</div>
<button class="btn btn-primary" type="submit" (click)="onUpload(abc)">Upload</button>
</form>
import { Component, OnInit } from '@angular/core';
import { UploadService } from './upload.service';
import { NgForm } from '@angular/forms';
@Component({
selector: 'app-upload',
templateUrl: './upload.component.html',
styleUrls: ['./upload.component.css']
})
export class UploadComponent implements OnInit {
// file1 = document.getElementById("file1");
constructor(private uploadService: UploadService) { }
ngOnInit() {
}
onUpload = (file: File) => {
this.uploadService.uploadfile(file)
.subscribe((res) => {
console.log(res);
},
(err) => {
console.log(err);
});
}
}
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { HttpClient } from '@angular/common/http';
@Injectable()
export class UploadService {
constructor(private http: HttpClient) {
}
uploadfile(file: File): Observable<File> {
console.log(file);
return this.http.post<File>("http://localhost:3000/fileupload", file, { headers: { 'Content-Type': 'application/json' } });
}
}
您必须创建formData才能上传文件。下面是示例代码。
fileDetails: any = {
clientDoc: {}
};
uploadClientDoc(event) {
this.fileDetails.clientMandateForm = event.srcElement.files[0];
this.submitFlag = this.fileDetails.isdaFile ? true : false;
}
submit() {
let formData: FormData = new FormData();
formData.append('clientDoc', this.fileDetails.clientDoc);
var data = this.urService.uploadFiles(formData).subscribe(res => {
//your login
});
}
uploadFiles(data) {
const httpOptions = {
headers: new HttpHeaders({
'Accept': 'application/json',
'Access-Control-Allow-Origin': '*',
'Content-Type': 'multipart/form-data'
})
};
return this.http.post('<url>', data, httpOptions);
}
<div>
<label>Please Select Document</label>
<label class="type-file">+ Upload FIle
<input type="file" accept="application/pdf" id="my_file1" (change)="uploadClientDoc($event)" />
</label>
<label >{{fileDetails.clientDoc.name}}</label>
</div>
<button class="ci-btn float-right-btn" type="button" (click)="submit()" value="Submit">Submit</button>
在我的Laravel应用程序中,我需要定期使用Guzzle将数据发送到API。 API使用承载令牌进行身份验证,并请求和接受原始JSON。为了进行测试,我使用Postman访问了API,一切都工作得很好。
我无法上传新泽西州的文件。使用泽西1.9。InputStream到达服务时为空。我尝试过将其作为普通表单提交和使用jQuery表单插件的AJAX提交,但结果都是一样的。也没有记录任何异常,这让它更加令人沮丧。 HTML表单 聚甲醛 Eclipse中的依赖层次结构显示mimepull.jar1.6也被引入。 剩下的服务 如果我添加@FormDataParam(“fileupload_name”)Fo
不管用。就像文件没有正确地附加到HTTP请求一样。 编辑:我终于明白了问题是POSTMAN可以访问我的文件系统,但我试图运行导出代码段的远程服务器没有--这是我的一个非常愚蠢的错误。
2FE552B7-53B1-4E4A-AFFF-3AEF8FE9D05B-----WebKitFormBoundaryLH8FJWGYEEVTCJMA内容-配置:表单-数据;name=“sample test file.pdf”;filename=“sample test file.pdf”content-type:application/pdf
我用Laravel5开发了一个API RESTful服务(后端),并用Postman测试了它。有几个资源来获取信息与get和POST请求,他们与邮递员工作得很好。我开始用Jersey的Java客户机测试API。GET方法可以很好地处理这样的代码,并且响应是一个json,我用Jackson解析它。
我有一个项目,当我的客户在这么多动作后会重新发送邮件时,当我测试我的邮件功能时,当地址是“gmail”时,我会重新发送邮件,但当邮件不是gmail时,邮件不会被重新发送!!!:(这是我的邮件功能: