@wywm@z[y[W
ŏIXVF2025N15
@Blob́ABinary Large object̗łBJavaScriptł́AeLXgEt@CłȂA摜f[^Af[^Ȃǂ̃oCiŕ\X̌`̃f[^̂Blobƌ܂BBlobIuWFNǵAȉ̂悤constructorŐ܂B
ar1 = ["_ɂ̏̐", "s̋", "ỏԂ̐F", "ҕK̗\", "遂lv炸", "t̖̖̔@" ]
t1 = { type:'text/plain' }
const blob1 = new Blob(ar1, t1);
@constructor̍ŏ̈́Af[^{̂zɓĎw肵܂B2́AfBAʂMIME`ŋLq̂łBMIMÉA'^Cv/Tu^Cv'Ƃ`Ă܂B^Cvɂ́A
application@̃AvP[Ṽf[^܂BႦAPDFf[^̏ꍇA'applicaiotion/pdf'ƂȂ܂B
audio@f[^܂Byf[^łA'audio/mpeg'łB
font@tHg()Ef[^܂B'font/woff'C'font/ttf'Ȃǂ܂B
image@摜f[^܂B'image/gif'C'image/jpeg'C'image/png'Ȃǂ܂B
text@eLXgEf[^܂B'text/plain'C'text/csv'C'text/html'C'text/css'C'text/calendar'C'text/javascript'Ȃǂ܂B
video@f[^܂B'video/mp4'Ȃǂ܂B
܂B
@text/plain^CvŁAGR[hw肷Ƃ́AUTF-8łA
t1 = { type:'text/plain;charset=utf-8;' }
VtgJISłA
t1 = { type:'text/plain;charset=shift-jis;' }
Ƃ܂B
@BlobIuWFNǵAtypesize2̃vpeBĂ܂BLblob1łAblob1.typeɂ́Atext/plainĂāAblob1.size162ɂȂĂ܂B
@BlobIuWFNggāAJavaScriptō쐬ꂽf[^̃_E[hs܂BႦAȉ
ar1 = ["_ɂ̏̐", "s̋", "ỏԂ̐F", "ҕK̗\", "遂lv炸", "t̖̖̔@"];
Ƃ̔zEFuTCg̓ǎ҂Ƀ_E[h(@_E[hȂǁAɈpȂł)AƂ̂łAȉ̂悤JavaScriptvOł̕f[^BlobIuWFNg𗘗pāA_E[hł܂B
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JavaScript̃eXg</title>
<style type="text/css">
p{color:black;font-size:medium}
</style>
</head>
<body style="background-color:white">
<p>JavaScript̃eXg܂B</p>
<button class="download">download</button>
<script>
// Blob̃eXg
ar1 = ["_ɂ̏̐", "s̋", "ỏԂ̐F", "ҕK̗\", "遂lv炸", "t̖̖̔@"];
for (str1 of ar1) {
comment(str1);
}
t1 = { type:'text/plain' }
var btn1 = document.querySelector(".download");
btn1.addEventListener('click', func1);
function func1() {
const blob1 = new Blob(ar1, t1);
var link1 = document.createElement('a');
link1.href = URL.createObjectURL(blob1);
link1.download = "heike.txt";
link1.click();
}
@HTML̕ł́A<button class="download">download</button>ƂāA"download"ƂNXt"download"ƕ\{^pӂ܂Bar1JavaScriptō쐬ꂽf[^(zɓꂽ`ŗpӂ܂)Ƃ܂BquerySelector\bhpāA"download"ƂNX̃{^擾btn1Ƃ܂BaddEventListener\bhpāAbtn1'click'Cxg̃Cxgnhfunc1()ݒ肵܂B
@"download"Əꂽ{^Ń}EXENbNƋNCxgnhfunc1()ł́ABlobNXconstructorpāA_E[hzar1i[CX^Xblob1܂B̃_E[hȂ̂type'tenxt/plain'Ƃ܂BɁA_E[hs^IȃN(<a>^O)document.createElemment('a')Ƃč쐬link1Ƃ܂BURL.createObjectURL()\bhblob1IuWFNgɑēKpA_E[hURL쐬link1hrefvpeBɐݒ肵܂B_E[h̃ftHg̃t@CdownloadvpeBɐݒ肵܂BɁAlink1.click()Ƃċ^IȃNbNECxgăNɃ_E[hs킹܂B
@LBlob̃eXgEvÓABʂɂ"download"Əꂽ{^ɑāAzar1̓e\܂B"download"Əꂽ{^NbNƃ_E[hn܂܂(At@CE_CAOJAۑꏊw肵܂)BJavaScript̃vO͕\[F12]L[ĊJc[NA[\[X]NbNAjtest19.htmlIŕ\ĂBL̗ł́ABlobɂiKŁAz̕SĘAAۑꂽheike.txtƂt@C̓eA _ɂ̏̐s̋荹ỏԂ̐FҕK̗\遂lv炸t̖̖̔@
ƂȂĂƎv܂B
@EFuTCgǎґ̃Abv[h<form>^OȂǂpĉ\łAMꂽe͂̂T[o[ɒuKvACGIƂZpKvŁAPerlƂÂ炢ŃXNvgăT[o[ɒuĂ(phpƂ܂)ACŋLqRpCăT[o[ɑ邩łAT[o[̑LINUXœ삵Ă邱ƂALINUXCŃRpCȂȂ炸AȒPł͂܂BT[o[Ђǂ܂ŃT|[gĂ邩܂BȂƂȂA[ł肵ēYtt@CŃf[^𑗂邩AZLeB̐SzȂAUSBɓėXւő悢Ǝv܂B
yLz@LłB̊F܂̂x肽A낵肢܂B
yLz@L͂܂łłB