Нужен простой пример загрузки файла

0

Мне нужен очень простой пример. Я просто хочу использовать ng-file-upload чтобы получить тело файла в поле объекта, определенное как двоичный массив в моем контроллере представления. Мне не нужно загружать файл в файловую систему на сервере. Документ для ng-file-upload довольно сложный. Заранее спасибо.

Вот что я имею до сих пор:

    <form name="form" ng-submit="vm.save()">                    
    <div class="widget-content user">
       Business Logo: <input type="file" 
    ngf-select ng-model="vm.logoFile" accept="image/*" ngf-max-size="2MB"
    required autofocus placeholder="Logo image file" />
   </div>
   <div class="app-command-bar">
   <button type="submit" class="btn btn-success navbar-btn"
        ng-disabled="isSaveDisabled()"
        title="SignUp">
    <i class="icon-save"></i> Sign Up
   </button>&nbsp;&nbsp;

и в моем контролере отправить:

     if (vm.logoFile != null) {
            log("logoFile" + vm.logoFile);
            log("logoFile type: " + vm.logoFile.type);
            log("logoFile name: " + vm.logoFile.name);
            vm.logoFile.upload = Upload.http({
                url: "",
                headers: {
                    'Content-Type': vm.logoFile.type
                },
                data: vm.logoFile,
            });
            log("Attempting upload");
            // we are trying to post the page again; no can do
            vm.logoFile.upload.then(function (response) {
                vm.logoFile.result = response.data;  //supposed to be the file binary at this point
                log("File result: " + vm.logoFile.result);
            });

У меня проблема с концепцией размещения. Я использую "" в URL-адресе, который отправляется на мою страницу, но я получаю 405 Method not Allowed. Мне кажется, я пытаюсь перепечатать эту страницу. Я пытаюсь просто получить двоичные данные из файла; Я не хочу загружать файл на сервер. Какие-либо предложения? Благодарю.

нормально.. дальше подумал. Мне нужна точка входа в мое веб-приложение, чтобы принять запросы на загрузку. Мое веб-приложение до сих пор является чистым javascript SPA. Какую входную точку мне нужно добавить в приложение? Спасибо за любую помощь.

  • 0
    Покажите нам, что у вас есть.
  • 0
    У меня пока нет кода; Я смотрел на документ, и это сложно
Показать ещё 4 комментария
Теги:
ng-file-upload

1 ответ

0

Я пошел другим путем, но я отправляю в качестве ответа здесь для тех бедных слэбов, как я, которые нуждаются в простом решении. Я просто добавил услугу "Угловая", которая имеет эту функцию:

     function uploadfile(file) {
        var defer = $q.defer();
        var reader = new FileReader();
        reader.readAsDataURL(file);
        reader.onload = function (event) {
            defer.resolve(event.target.result);
        };
        return defer.promise;
    };

Когда байты файла возвращаются, я просто разбираю тип и чистую base64string в поля (используя.split(",")) Мне нужно было отправить в мою базу данных на бэкэнд.

  • 0
    Привет, Аль Блюз, я знаю, что это слишком старая тема, но является ли аргумент, который вы передали в uploadfile, аргументом из ngf-select ng-modal? или вы вообще не используете ng-file-upload?

Ещё вопросы

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