我使用的代码与我在文件上传的类似项目中成功使用的代码相同,但由于某种原因,边界永远不会添加到请求标头中的content-type属性中。这导致我的C#web-api功能无法检测到图像。
这是我使用angularjs的帖子请求:
var formData = new FormData($('#testform')[0]);
$http({
url: serviceBase + 'api/Client/' + item.practiceID + '/SavePhoto',
method: "POST",
data: formData,
headers: { 'Content-Type': false },
transformRequest: function (data) { return data; }
}).success(function (response) {
}).error(function () {
});
这是请求的样子:
Request URL:http://localhost:56769/api/Client/178/SavePhoto
Request Headers
Provisional headers are shown
Accept:application/json, text/plain, */*
Authorization:Bearer JfDnrAIkSttZ8GnHa-Wo9wBH-HVWpbiUgGSic11DF_OlTgseuTPgTisxybvEyw2fEyer1FJ7DjKWqK15P-ZdhO_X1aHp7-GiIW2Q4BTF5svTyJKWtM2jk-XEN6qXuEIhAi6-phryd_LlGLOlLMYMKhQZGULxdyk_dUvDGt6bY5Z0L-LbV5uc74q3MyLMMj_vypNgbFCAxGEAGeeeGlP7jwlyyz7EY-eRfRhXxjFqOjI
Content-Type:false
Origin:http://localhost:58431
Referer:http://localhost:58431/index.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
Request Payload
------WebKitFormBoundary6padOMi9aJxqx34h
Content-Disposition: form-data; name="profile-photo"; filename="Jellyfish.jpg"
Content-Type: image/jpeg
------WebKitFormBoundary6padOMi9aJxqx34h--
是否有人知道可能导致边界无法在content-type参数中生成的内容?
答案 0 :(得分:10)
尝试将Content-Type
标题作为undefined
而不是false
传递:
headers: { 'Content-Type': undefined }