2015-06-02 13 views
6

Próbuję przedłużyć (moim prawdziwym przykładem jest bardzo podobny) kątowe-xeditable - edycji wiersz - przykład opisany tutaj: http://vitalets.github.io/angular-xeditable/#editable-row lub jej link jsFiddle tutaj: http://jsfiddle.net/NfPcH/93/Jak przedłużyć kątowe-xeditable edycji wiersz z dziedziny przesyłania plików

dzięki czemu mam jedną dodatkową kolumnę do przesyłania pliku dla każdego wiersza/elementu. Jest w porządku, jeśli może być tylko elementem wejściowym pliku typu, ale jestem otwarty na inne rozwiązania. Zazwyczaj moja kolumna wygląda następująco:

   <td> 
        <span editable-text="template.description" e-name="description" e-form="rowform" e-required> 
         {{ template.description || 'empty' }} 
        </span> 
       </td> 

Ale teraz chcę dodać moje niestandardowe kolumny, a ja starałem elementu wejściowego z lub bez wszystkich metioned atrybutów tutaj:

   <td> 

        <input id="file" 
          accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" 
          ng-show="rowform.$visible" 
          class="btn btn-default" 
          name="file" 
          type="file" 
          e-name="file" 
          e-form="rowform" 
          value="{{ user.file || 'empty' }}" /> 
       </td> 

w każdym przypadku, nie mogę - plik - wartość w moim kątowej kontrolera po próbuje zapisać wiersz, gdy ten kod jest wykonywany:

$scope.saveUser = function (data, id) { 
     //$scope.user not updated yet 
     angular.extend(data, { id: id }); 
     angular.extend(data, { file: file }); 
     return $http.post('/saveUser', data); 
    }; 

My - dane - obiekt jest tutaj ze wszystkich innych właściwości takich jak - opis - ale nie - Fil e - własność!

Oczywiście, że rozszerzony formularz onbeforesave zdarzenia z:

... forma edytowalne-form name = "rowform" onbeforesave = "saveTemplate ($ dane, user.id, user.file)" ...

Jakieś sugestie?

Dzięki Vedran

Odpowiedz

0

utknąłem z tym.

Kiedy myślałem, że wszystko jest w porządku, bo mam obiekt pliku w moim modelu kątowej za pomocą roztworu o tworzeniu niestandardowych wspomnianej dyrektywy tutaj:

ng-model for <input type="file"/>

... to nowy problem zaczął mnie niepokoić .

Nie mogę uzyskać tego obiektu pliku zamapowanego podczas procesu wiązania do parametru HttpPostedFileBase kontrolera MVC.

Próbowałem wszystkiego, na przykład wykluczając właściwość i dodając osobny parametr do mojego kontrolera MVC lub tworząc niestandardowy segregator modelu MVC, ale przykłady zobaczyłem użytą klasę ModelBinderResult, której nie mogłem znaleźć pod klasami MVC 5 w żadnej przestrzeni nazw.

Ten obiekt pliku jest tutaj na pewno, ale nie mogłem go uruchomić. Wiem, że obiekt nie jest pusty lub zerowy, ponieważ jeśli podam typ parametru wejściowego kontrolera => obiekt, to nie jest on pusty.

Proszę, każda pomoc będzie mile widziane!

Vedran

+0

Ktoś znalazł rozwiązanie tego? –