Я использую файловую систему html5 api, и я пытаюсь загрузить некоторые изображения в С# WebApi;
Но они всегда пусты. no mater, что я пытаюсь, я использую следующий код в API
[HttpPost]
[Route("api/quotation/pictures")]
public HttpResponseMessage PostImages() {
try {
_logger.Trace("Post pictures ...");
NameValueCollection parameters = HttpContext.Current.Request.Params;
string filename = parameters.GetValues("id")[0];
var files = HttpContext.Current.Request.Files;
if (files.Count > 0) {
// .. other code
}
}
}
И следующий код в JS
// img = variable with some img options.
var data = new FormData();
fileService.getFile(img.viewpath.split('/').pop()).then(function (f) {
// f = FileEntry
data.append(img.FileNameOnDevice, f);
$.ajax({
url: url,
type: "POST",
data: data,
contentType: false,
processData: false
}).success(defImg.resolve).error(defImg.reject);
}, function () {
console.error("not found");
});
Это было простое решение,
поскольку f
был FileEntry, мне пришлось запросить сам файл, поэтому сменив код на:
// img = variable with some img options.
var data = new FormData();
fileService.getFile(img.viewpath.split('/').pop()).then(function (f) {
// f = FileEntry
f.file(function(file){
data.append(img.FileNameOnDevice, file);
$.ajax({
url: url,
type: "POST",
data: data,
contentType: false,
processData: false
}).success(defImg.resolve).error(defImg.reject);
}, defImg.reject);
}, defImg.reject);
решил проблему