admin管理员组

文章数量:1421572

function download(){
  var fileName = 'testDemo';
  var type = 'xyz';
  var data = 'Hello world';
  var file = new Blob([data], {
    type: type
  });
  if (window.navigator.msSaveOrOpenBlob) // IE10+
    window.navigator.msSaveOrOpenBlob(file, fileName);
  else { // Others
    var a = document.createElement("a"),
      url = URL.createObjectURL(file);
    a.href = url;
    a.download = fileName + '.' +type;
    document.body.appendChild(a);
    a.click();
    setTimeout(function() {
      document.body.removeChild(a);
      window.URL.revokeObjectURL(url);
    }, 100);
  }
}
<button onclick='download()'>Download</button>

function download(){
  var fileName = 'testDemo';
  var type = 'xyz';
  var data = 'Hello world';
  var file = new Blob([data], {
    type: type
  });
  if (window.navigator.msSaveOrOpenBlob) // IE10+
    window.navigator.msSaveOrOpenBlob(file, fileName);
  else { // Others
    var a = document.createElement("a"),
      url = URL.createObjectURL(file);
    a.href = url;
    a.download = fileName + '.' +type;
    document.body.appendChild(a);
    a.click();
    setTimeout(function() {
      document.body.removeChild(a);
      window.URL.revokeObjectURL(url);
    }, 100);
  }
}
<button onclick='download()'>Download</button>

Here I am setting type and extension as .xyz but still it shows plain text document (text/plain) in property and can't read the file type also which shows a empty string. How can I create a custom extension and type?

Share Improve this question edited Nov 17, 2017 at 12:23 Omaim asked Nov 17, 2017 at 11:48 OmaimOmaim 2343 silver badges9 bronze badges 1
  • Damn, i wish someone had answered this one - i'll try get back here if I find a solution to my problem. I was looking for a way to make a custom format to store the smallest picture ever, like this: delimiter, x1y1x2y2x3y3x4y4 delimiter x1xy2 etc, such that the delimiters denote swapping to the next color and the palette is stored seperately – Aj Otto Commented Sep 4, 2018 at 23:11
Add a ment  | 

1 Answer 1

Reset to default 3

You are passing an extension instead of useful mime type at the time of instantiating blob object.

 var fileName = 'testDemo';
 var type = 'application/pdf';
 var data = 'Hello world';
 var file = new Blob([data], {
            type: type
           });

Refer other useful mime types here : mime types

本文标签: javascriptCreate custom file type and extension using Blob()Stack Overflow