Загрузка из файловой системы HTML5 API

0

Я использую файловую систему 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");
});
  • 0
    Вы пытаетесь получить доступ к файловой системе пользователя с помощью JavaScript? Так как вы не можете (в браузере).
  • 0
    Я могу использовать файловую систему, чтобы показать файлы, хранящиеся в файловой системе (я пишу их там)

1 ответ

0
Лучший ответ

Это было простое решение,

поскольку 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);

решил проблему

Ещё вопросы

Сообщество Overcoder
Наверх
Меню