javascript - HTML 重命名下载链接

标签 javascript html download

我有一个这样的 mp3 链接:

http://example.com/932937293723.mp3

但我想在用户下载文件时将其重命名为这样

http://example.com/Artist - Title.mp3

我的代码:

<a href="http://example.com/932937293723.mp3" download="Artist - Title.mp3">DOWNLOAD</a>

存储在远程服务器上的 mp3 文件。而且我不是该服务器的所有者。 HTML download 属性似乎不是很好的解决方案。因为它不是跨浏览器的。任何跨浏览器解决方案来解决这个问题?可能是 Javascript :D

最佳答案

如果您坚持在前端工作,请尝试使用以下代码。 getblob 方法已贬值,但您需要更新该方面。让我知道。

function getBinary(file){
    var xhr = new XMLHttpRequest();  
    xhr.open("GET", file, false);  
    xhr.overrideMimeType("text/plain; charset=x-user-defined");  
    xhr.send(null);
    return xhr.responseText;
}
function sendBinary(data, url){
    var xhr = new XMLHttpRequest();
    xhr.open("POST", url, true);

    if (typeof XMLHttpRequest.prototype.sendAsBinary == "function") { // Firefox 3 & 4
        var tmp = '';
        for (var i = 0; i < data.length; i++) tmp += String.fromCharCode(data.charCodeAt(i) & 0xff);
        data = tmp;
    }
    else { // Chrome 9
        // http://javascript0.org/wiki/Portable_sendAsBinary
        XMLHttpRequest.prototype.sendAsBinary = function(text){
            var data = new ArrayBuffer(text.length);
            var ui8a = new Uint8Array(data, 0);
            for (var i = 0; i < text.length; i++) ui8a[i] = (text.charCodeAt(i) & 0xff);

            var bb = new BlobBuilder(); // doesn't exist in Firefox 4
            bb.append(data);
            var blob = bb.getBlob();
            this.send(blob);
        }
    }

    xhr.sendAsBinary(data); 
}

var data = getBinary("My music.mp3");
sendBinary(data,'http://www.tonycuffe.com/mp3/tailtoddle_lo.mp3');

关于javascript - HTML 重命名下载链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30371952/

相关文章:

javascript - 使用 SVG 文件的跨浏览器解决方案?

javascript - 将一个 div 放置在滑动的 Jquery div 之上

javascript - 悬停链接时添加背景图像

python-3.x - headless chrome 网络驱动程序太慢,无法下载文件

无需安装即可下载MacPorts依赖项

javascript - 设置子网格的 fetchXML 时,无法读取 Dynamics CRM 中未定义的属性 'SetParameter'

javascript - 为什么加载的元数据不能持续触发

javascript - 如何使用 RequireJS 优化器来优化我的应用程序以不再使用 RequireJS?

jquery - 将表格行推到底部并固定行数

PHP 下载代码不起作用