例如,如果您点击链接:
data:application/octet-stream;base64,SGVsbG8=
浏览器将提示您下载一个文件,该文件由超链接本身中作为base64保存的数据组成.有没有办法在标记中建议默认名称?如果没有,是否有JavaScript解决方案?
我试图从HTML5canvas将图像(JPEG)保存到桌面.我可以在新窗口中打开window.open(canvas.toDataURL('png'), "");,但如何将其保存到桌面?谢谢.
我整理了一个小的测试Web应用程序,它将HTML画布转换为图像(通过使用Nihilogic的canvas2image JavaScript库),然后用生成的图像替换画布并显示一条消息,通知用户触摸(长)该图像以便把它保存到手机上.
我遇到的问题是Android的默认Web浏览器("Internet")不呈现代表图像的base64编码数据流,而是显示问号标记.有办法解决这个问题吗?如果是,那怎么样?
我正在使用带有REST API的AngularJs.我没有掌握REST API.我可以通过发送REST请求来存储带有API的数字对象.我也可以通过GET请求得到它.请求需要一些特定的标头.
我的目标是为用户提供"下载并另存为"链接.现在,在点击事件中我发出请求:
this.file = function (file) {
var url = config.domain + 'file/' + file;
var methods = resource(url, null, {
'get': {
method:'GET',
headers:{ 'Authorization' : user.auth,
'secret-key' : user.secretkey}
}
transformResponse : function(data, headersGetter){
return {content:data}; //transform octet stream into text, angular returns an array containing 1 character per element.
},
});
return methods;
};
Run Code Online (Sandbox Code Playgroud)
在返回正文中我有文件内容(见下文).我想下载它.这怎么可能 ?请注意,我无法将文件存储为URL.
是否可以打开一个窗口,让其余的调用好的标题并保存文件?
编辑
我需要解决方案才能与50Mo文件一起使用.
我有一个PDF文件内容的例子:
%PDF-1.7
£´ÅÖçø
2 0 obj
[/ICCBased 3 0 R]
endobj
3 0 obj
<<
/Filter …Run Code Online (Sandbox Code Playgroud) 我在我的页面上有一个动态生成的图像,如下所示:
<img id="my_image" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA/gD+AAD/etc............" />
Run Code Online (Sandbox Code Playgroud)
而不是告诉我的用户右键单击图像并点击保存我想要公开下载链接,点击后将提示下载图像.怎么做到这一点?
最初我在js中尝试这样做:
var path = $('#my_image').attr('src');
window.open('./download.php?file=' + path);
Run Code Online (Sandbox Code Playgroud)
并在download.php中:
<?php
header('Content-Description: File Transfer');
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename= " . $_GET['file'] . "");
?>
<img src="<?= $_GET['file'] ?>" />
Run Code Online (Sandbox Code Playgroud)
但问题是,Base64 url stirngs如此之大,超出了GET请求字节限制.
我对JavaScript或PHP的解决方案持开放态度.
我想将 html 表格下载为 PNG 图像,我找到了一种使用 JQuery 将表格提取为图像的方法,但它在新选项卡中打开并且不会自动下载我必须使用右键单击然后另存为图像才能下载它。
有没有办法让它自动下载?
这是用于导出为 PNG 图像的 JQuery
$('#preview-table').tableExport({type:'png',escape:'false'});
Run Code Online (Sandbox Code Playgroud) 现在,我正在使用 BASE64 制作缩略图页面。
我将图像存储在服务器上,并在客户端将它们作为 Base64 回调。
我想使用这些 Base 64 编码的 Img 作为 src。它运作良好
. 但是,我犯了这样的错误
GET http://localhost:8080/%7B%7Bitem.THUMBNAIL%7D%7D 404
Run Code Online (Sandbox Code Playgroud)
什么是问题?并且在没有任何转换的情况下使用base64作为src是正确的方法吗?
这是我的来源
脚本
$http.get( "app/dashboard/recentWithInfo").then( function( rtn) {
rtn.data.map( item => {
if( item.THUMBNAIL){
item.THUMBNAIL = "data:image/png;base64," +item.THUMBNAIL.body;
}
})
$scope.items = rtn.data;
});
Run Code Online (Sandbox Code Playgroud)
HTML
<img class="block-thumbnail-img" ng-if="item.THUMBNAIL != null" src="{{item.THUMBNAIL}}">
<h2 ng-if="item.THUMBNAIL == null" style="color:#ccc"> No THUMBNAIL</h2>
Run Code Online (Sandbox Code Playgroud)
此外,我使用 Springboot 和 AngularJS。提前致谢!