2016-10-12 5 views
-1

Привет, новичок в aurelia js, мне нужно загрузить файл на сервер, я использую autrelia js, materializecss и httpClient.fetch для вызова api. Я не знаю, как отправить файл на сервер.Aurelia js fie Загрузка на сервер

вид:

<input type="file" files.bind="selectedFiles" change.delegate="onSelectFile($event)"> 

Модель:

onSelectFile(e) 
{ 
    var myurl = 'http://cdn.dmsapp.tk/file?authToken=bLNYMtfbHntfloXBuGlSPueilaHtZx&type=jpg&name=sibi.jpg&userId=7&organizationId=1&sourceType=USER_UPLOADS'; 
     this.httpValueConverter.call_http(myurl,'POST',this.selectedFiles[],'fileupload',file_upload) 
      .then(data => { 
      console.log(data); 
     if(data.meta && data.meta.statusCode == 200) { 
      // this.index_lists = data.index.list; 
     } 
    }); } 

HTTPService:

return this.httpClient.fetch('http://api.dmsapp.tk/'+url, 
      { 
       method: method, 
       body : json(myPostData), 
       headers: { 
       'Content-Type': 'application/x-www-form-urlencoded', 
       'authorization': this.authorization}}) 
      .then(response => response.json()); 

ищет решение.

+1

Возможный дубликат http://stackoverflow.com/questions/37589636/posting-data-and-file-with-aurelia-to-asp-net-webapi –

+0

Можете ли вы попробовать вышеупомянутое решение и посмотреть, работает ли оно? –

+0

Что такое 'this.selectedFiles []'? Я бы удалил '[]' скобки из переменной, потому что это не является частью имени, он ссылался бы на индекс массива, который вы не получаете – Randy

ответ

0

Если это файл и вы пытаетесь загрузить определенный тип носителя, то заголовок 'Content-Type': 'application/x-www-form-urlencoded' не подходит мне. Посмотрите на соответствующем типе носителя здесь:

http://www.iana.org/assignments/media-types/media-types.xhtml

Кроме того, вы сериализовать данные в формат JSON, если ваши данные двоичные вам нужно будет изменить это в массив байт.

Вы можете найти полезную информацию здесь:

http://www.petermorlion.com/file-upload-with-aurelia/

Также вы установите маркер как в вашей URL и ваш заголовок, я бы рекомендовал установить его только в заголовке.

+0

Я попробовал 2-ю ссылку, она выдает ошибку на 'settingsDto.Logo.IndexOf (",") + 1' этой строке. – sibi

Смежные вопросы