我在 Java 应用程序中遇到以下情况。
从数据库中检索此Blob对象,它是 DB 上 PDF 文件的表示形式:
Blob blobPdf = cedolinoPdf.getAllegatoBlob();
Run Code Online (Sandbox Code Playgroud)
现在我必须将其转换为 PDF 文件。我怎样才能完成这个任务?
总氮
我正在尝试使用 Javascript LoadImage 库( https://github.com/blueimp/JavaScript-Load-Image )从文件加载图像。
load 方法返回一个图像对象,并将其src设置为某个 blob 对象:
<img src="blob:http%3A//localhost%3A3577/902d4e78-2e3e-467c-99ce-6683db24996e" width="960" height="540">
如果我将此元素附加到 DOM,它会很好地显示。然而,根据我的需要,我只需要图像数据,而不是 DOM 对象。src我需要获取该数据并为其设置另一个现有元素。因此,就像任何理智的人都会做的那样,我获取返回对象的src( blob:http%3A//localhost%3A3577/902d4e78-2e3e-467c-99ce-6683db24996e),获取对现有图像 DOM 对象(如下命名)的引用img,并使用 jQuery 设置其 src:
img.attr('src', src);
这导致我现有的图像对象变成:
<img src="blob:http%3A//localhost%3A3577/902d4e78-2e3e-467c-99ce-6683db24996e">。
是的,完全相同(期望显式width和height属性,我也尝试添加,这绝对没有改变)。但我现有的标签现在显示的是损坏的图像,而不是图像:
为什么和相同的图像标签时src,一个可以显示图像,另一个不能显示?
我想将 BLOB 列的最大大小设置为 900KB。
有没有一种类似于其他字符串数据类型的语法的方法 - 例如
c CHAR(7),
vc VARCHAR(50),
pic BLOB (???)
Run Code Online (Sandbox Code Playgroud)
去做这个?
我在 mysql 上添加了 png 图像作为 BLOB,但是当我尝试检索它们时,我将它们作为文件获取,但无法显示为图像。
下面是我的代码。
//控制器
public function post_news(){
$image = Input::file('image');
$filename = $image->getClientOriginalName();
$base64 = base64_encode($filename);
$news = new News();
$news->title = Input::get('title');
$news->description = Input::get('desc');
$news->image = $filename;
$news->save();
return Redirect::to('news')->withErrors(['This news has been added on your database. You may continue!']);
Run Code Online (Sandbox Code Playgroud)
//路线
Route::get('/', function() {
$news = DB::table('news')->get();
return View::make('home2', compact('news'));
Run Code Online (Sandbox Code Playgroud)
});
//浏览次数
<?php if (isset($news)) { ?>
@foreach ($news as $row)
<div class="img-container">
<div class="imageOne image">
<?php //dd($row->image); ?>
<img src="data:image/png;base64,{{ chunk_split(base64_encode($row->image)) }}">
</div> …Run Code Online (Sandbox Code Playgroud) 根据电子 API和这个问题,我试图将录制的用户屏幕保存到根应用程序文件夹中视频文件夹中的 .webm 文件。
实际上它几乎可以工作,因为它保存了 .webm 文件,但保存的文件是空的,它的重量为 0B.. 我不知道我在这里缺少什么。
所以看起来由于文件为空而无法正确录制。
调试时进行编辑我发现记录可能正常工作,因为我控制台记录的 blob 内部具有价值,而在toArrayBuffer我的 blob 内部不再具有价值之后。
代码是:
(function () {
'use strict';
var fs = require('fs');
var { desktopCapturer } = require('electron');
var recorder, blobs = [];
angular
.module('app')
.controller('loggedScreen', Controller);
Controller.$inject = ['$scope'];
function Controller($scope) {
var startRecord = function () {
console.log('started');
desktopCapturer.getSources({types: ['window', 'screen']}, function(error) {
if (error) throw error;
navigator.webkitGetUserMedia({
audio: false,
video: {
mandatory: {
chromeMediaSource: 'desktop',
minWidth: 1280, …Run Code Online (Sandbox Code Playgroud) 情况是这样的:服务器接收到srt文件流。服务器将流转换为vtt格式。然后将生成的流缓冲到缓冲区中,然后通过 io.socket 发送到客户端。
这是服务器代码:
self.expressApp.post("/upload", function (req, res) {
var busboy = new Busboy({ headers: req.headers });
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
var subchunks = [],
sub = file.pipe(srt2vtt());
sub.on('data',function(buffer){
subchunks.push(buffer);
});
sub.on('end',function(){
var buffer = Buffer.concat(subchunks);
socket.emit('Subtitles',buffer);
});
});
busboy.on('finish', function() {
res.writeHead(200, { 'Connection': 'close' });
res.end();
});
return req.pipe(busboy);
});
Run Code Online (Sandbox Code Playgroud)
这是客户端代码:
var subobj = new Blob([new Uint8Array(payload)],{type: "text/vtt"}),
url = (URL || webkitURL).createObjectURL(subobj),
track = document.createElement("track");
track.kind …Run Code Online (Sandbox Code Playgroud) 我的网站允许通过新手友好的界面上传自定义字体并更改文本及其 css 的属性:仅允许 webfont 类型(woff/woff2/eot...)。上面的 css 有一个 @font-face 规则,它必须链接到上传的文件,因为我希望文本以用户字体编写,但我不知道该怎么做:我尝试使用 Blob 的 url,但什么也没有发生了这样的事,你有什么建议吗?
[PS:我没有服务器/php,只有纯 JavaScript,因为我被要求临时上传]
我正在使用 PostgreSQL 编写带有 Spring-Boot 的服务器,我试图获取有关链接到特定实体的图像的信息。我正在尝试将用户信息从服务器获取到我的前端 Angular 应用程序。在我的系统中,用户有链接到他的帐户的图像,所以我做了 ImageEntity 类
@Entity @Table(name = "image") @Data
public class ImageEntity {
@Id @GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long id;
private String name;
private String type;
@Lob
private byte[] image;
@JsonIgnore
public byte[] getImage() {
return image;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我将图像列表链接到用户帐户类别
@Entity @Data
public class UserAccount{
@Id @GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long id;
private String firstName;
private String lastName
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(
name = "user_images",
joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")},
inverseJoinColumns = …Run Code Online (Sandbox Code Playgroud) Git 将文件存储为 blob,然后使用 SHA-1 校验和作为密钥在其他 blob 中查找每个特定 blob,类似于标识文件的文件名。
那么这个黑魔法是如何运作的呢?也就是说,如何从一个文本文件开始并以一个 blob 结束?是通过取消引用文件的内存地址创建的 blob 还是其他什么?
我需要以两种尺寸存储图像:
1.Thumbnail(100x200px).
2.大图像(1024x2048).
存储选项很少:
a)保存原始图像,而不是在使用"Image Manipulation API"加载页面时动态调整大小.
b)通过"Image Manipulation API"调整原始图像的大小,而不是以不同的分辨率保存两个副本.
在我看来,选项a)使用了大量的"前端实例时间".但我没有找到任何有关如何使选项b)工作的信息.
blob ×10
javascript ×4
java ×3
html ×2
mysql ×2
binary ×1
css ×1
electron ×1
font-face ×1
getusermedia ×1
git ×1
html5-video ×1
image ×1
inputstream ×1
jquery ×1
json ×1
laravel ×1
laravel-4 ×1
mediastream ×1
node.js ×1
outputstream ×1
pdf ×1
php ×1
postgresql ×1
sql ×1
web ×1