javascript - 如何使用 JavaScript 将文件大小从字节转换为 GB?
问题描述
请有人可以在这里帮助我。
我有一个网站,我使用 ipsw.me API 来显示最新的 iOS 固件 IPSW 文件。我使用下面的 Javascript 从 API Json 调用信息并将它们显示为 HTML。
我的问题是文件大小在“字节”中,我想以 GB 显示它。
我对 JS 不是很好,不知道该怎么做。拜托,有人可以帮我吗?
下面是我正在使用的脚本。
function myFunction() {
var copyText = document.getElementById("myInput");
copyText.select();
copyText.setSelectionRange(0, 99999);
document.execCommand("copy");
}
function fetchData() {
fetch('https://api.ipsw.me/v2.1/iPhone9,4/latest/info.json')
.then((response) => {
return response.json();
})
.then(data => {
console.log(data);
const html = data
.map(info => {
return `
<div class="ipsw-info">
<table id='ipsw-tb'>
<tbody>
<tr>
<td><span class="ios-data">iDevice:</span></td>
<td>${info.device}</td>
</tr>
<tr>
<td><span class="ios-data">Firmware Version:</span></td>
<td>${info.version}</td>
</tr>
<tr>
<td><span class="ios-data">Firmware Identifier:</span></td>
<td>${info.identifier}</td>
</tr>
<tr>
<td><span class="ios-data">Build ID:</span> </td>
<td>${info.buildid}</td>
</tr>
<tr>
<td><span class="ios-data">Released Date:</span></td>
<td> ${info.releasedate}</td>
</tr>
<tr>
<td><span class="ios-data">File MD5sum:</span> </td>
<td><code>${info.md5sum}</code></td>
</tr>
<tr>
<td><span class="ios-data">File SHA1sum:</span> </td>
<td><code>${info.sha1sum}</code></td>
</tr>
<tr>
<td><span class="ios-data">It's Signed IPSW:</span></td>
<td> ${info.signed}</td>
</tr>
<tr>
<td><span class="ios-data">Size:</span></td>
<td> ${info.size} Bytes</td>
</tbody>
</table>
<center>
<div class='download-info'>
<span class='file-icon'>IPSW</span>
<span class='file-text'> ${info.filename}</span>
<a class='button file-link' href='${info.url}' target='_blank'><i class='m-icon download'></i>Download</a>
</div>
</center>
<h3 style='color:blue; text-align:center'> Can't Download? Copy link from below, paste in a new tab to download</h3>
<input type="text" value="${info.url}" id="myInput">
<button class='button file-link' onclick="myFunction()" onmouseout="outFunc()"><span><svg width="24" height="24" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" /></svg></span>
Copy URL
</button>
</di>
`;
})
.join();
console.log(html);
document.querySelector('#ipsw-info').insertAdjacentHTML('afterbegin', html);
});
}
fetchData()
<!DOCTYPE html>
<head>
<style>
.ios-data{
font-weight: bolder;
font-size: 18px;
}
code {
color: #e83e8c;
word-break: break-word;
}
#myInput {
width: 98%;
}
#ipsw-tb {
font-family: arial, sans-serif;
border-collapse: collapse;
border:1 px solod blue;
width: 100%;
background-color: #ffffff;
color: black;
}
</style>
</head>
<bbody>
<div id="ipsw-info">
</div>
</bbody>
<script src="ispw.js"></script>
</html>
解决方案
推荐阅读
- haskell - 如何在 Haskell 中本地下载 Internet 文件
- python - 通过命令行传递字典参数并在 python 脚本中访问它们
- javascript - 操作两个二选一
- node.js - 无法从服务器重定向到客户端 URL
- kotlin - 如果在带有类型参数的接口上定义了方法,则 kotlinFunction 返回 null
- mysql - 如何将两个查询的结果组合成一个数据集(一个在另一个之上)并且仍然显示下表的标题
- android - 使用 Intent 启动一个新的 Fragment
- html - CSS box-sizing:border-box 仍然为元素宽度添加边框大小
- node.js - 是否可以从 Express 中的路由调用我的减速器中的操作函数?
- flutter - 如何解析类型“时间戳”不是类型转换中“字符串”类型的子类型