2015-11-17 4 views
2

Я хочу загрузить и загрузить файлы с помощью javascript.Загрузите двоичные данные в файл с помощью javascript

Шаг 1: Я преобразовал загруженные файлы в двоичный код и успешно отправил двоичный код на сервер через web api.

 var SA_Supp_Evidence_Object_File = null; 
     var Evidence_file_name = null; 

     if (document.getElementById("file").files.length != 0) { 
      SA_Supp_Evidence_Object_File = document.getElementById('file').files[0]; 

      var fr = new FileReader; 
      fr.onloadend = function() { 
       alert(fr.result); 
      }; 
      fr.readAsBinaryString(SA_Supp_Evidence_Object_File); 

      Evidence_file_name = SA_Supp_Evidence_Object_File.name; 
     }; 

Шаг 2: Теперь я хочу, чтобы получить те же данные из базы данных и возможность скачать, перейдя по ссылке

<td><a href="_self">Download</a></td> 

Может ли один помочь мне решить эту проблему

Я пробовал вот так

var data = 'data:text/plain;base64,'+L_EncodedData; 
document.location = data; 

ответ

2

Вы необходимо изменить атрибут href<a>, чтобы содержать данные, которые вы хотите загрузить. Вы не хотите делать перенаправление через document.location, вместо этого сам якорь должен содержать данные.

.: например

var a = document.body.appendChild(
    document.createElement("a") 
); 
a.download = "filename.dat"; 
a.href = "data:text/plain;base64," + L_EncodedData; 
a.innerHTML = "download"; 
+0

sdfsdfsdfs Не работает в IE – user5383264

+0

IE не полностью поддерживает встроенные данные еще. https://en.wikipedia.org/wiki/Data_URI_scheme – Ian

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