6
Tôi sử dụng Góc kết hợp với MVC. Khi tôi muốn tải lên một tệp, số HttpPostedFileBase
là không.HttpPostedFileBase là null khi tải lên tệp với Angular
html:
<input type="file" data-ng-model="fileName" onchange="angular.element(this).scope().fileInputChanged(this)">
góc:
scope.fileInputChanged = function (element) {
scope.$apply(function (scope) {
console.log('files:', element.files);
_.each(element.files, function (element, index, list) {
scope.files.push(element);
});
});
}
scope.uploadDocuments = function() {
var formData = new FormData();
// add uploaded files to form data object
for(var i in scope.files){
formData.append("uploadedFile", scope.files[i]);
}
// create xml http request object
var httpRequest = new XMLHttpRequest();
httpRequest.upload.addEventListener("progress", uploadProgress, false);
httpRequest.addEventListener("load", uploadComplete, false);
httpRequest.addEventListener("error", uploadFailed, false);
httpRequest.addEventListener("abort", uploadCanceled, false);
httpRequest.open("POST", "/Customer/UploadDocuments");
// make progress bar visible
scope.progressVisible = true;
// send the request to the server with the form data
httpRequest.send(formData);
}
// Private functions
function uploadProgress(event) {
scope.$apply(function() {
if (event.lengthComputable) {
scope.progressValue = Math.round(event.loaded * 100/event.total);
}
else {
scope.progressValue = "Kan progressie niet berekenen";
}
});
}
function uploadComplete(event) {
scope.hideForm(false);
}
function uploadFailed(event) {
alert("Het uploaden van de documenten is mislukt.");
}
function uploadCanceled(event) {
scope.$apply(function() {
scope.progressVisible = false;
});
}
MVC:
public void UploadDocuments(HttpPostedFileBase file)
{
}
đây là cách tiêu đề yêu cầu của tôi trông giống như:
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,nl;q=0.6
Connection:keep-alive
Content-Length:380863
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryc67wmYYq1T5VAMlT
Cookie:ASP.NET_SessionId=rgwgky0zymvb2ppg3jozrn2s; __ngDebug=false; .ASPXAUTH=A54883879090E307D871F8293C805B3B50D1DDFAD1CE5B05D7284426D895370CBBD75D25B7012D384A69CAB265783BDA8F05B1BA02E0121814F45B39E15520EC35408F19DF3345B5DB7F5502886D8696
Host:localhost:15982
Origin:http://localhost:15982
Referer:http://localhost:15982/
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36
Và ở đây tải trọng:
------WebKitFormBoundaryc67wmYYq1T5VAMlT
Content-Disposition: form-data; name="uploadedFile"; filename="deukjes_deur_2.jpg"
Content-Type: image/jpeg
Tôi phải làm gì để làm việc này?
Tôi đã tự tìm ra. Tôi đã thấy nó khi tôi đăng câu hỏi này. Dù sao cũng cảm ơn bạn!! – Martijn
Tôi chỉ muốn nói, điều này đã giải quyết được một vấn đề rất bực bội mà tôi đã gặp phải! Cảm ơn rất nhiều vì điều đó! Tôi sẽ mạo hiểm để đoán đây là vấn đề mà 90% những người có vấn đề cố gắng để thực hiện điều này đang gặp phải. Vì vậy, tôi hy vọng câu trả lời này sẽ nhận được nhiều khả năng hiển thị hơn! – Brandon
@Brandon Vui vì nó đã giúp, tôi chỉ biết để tìm điều này đầu tiên bây giờ bởi vì tôi đã dành quá nhiều thời gian cố gắng để sửa chữa nó bản thân mình :). Đó là một nguyên nhân rất phổ biến khi các giá trị là null trên bài đăng (không chỉ các tệp) – mattytommo