我正在创建一个网站作为一个迷你项目,将用于销售各种产品.在网站上,我打算提供有关将从数据库中检索的产品的详细信息.我使用Servlets和JSP作为服务器端和pointbase数据库.所以我将使用JDBC连接到数据库.请告诉我如何将图像插入数据库并提供相同的示例代码.还提供了如何检索它们的详细信息.
提前谢谢大家..
我想使用 MYSQL 作为大量文件的存储系统。我只想读/写存储在列中的一部分数据(数据存储为字节),所以我不必将整个文件加载到应用程序中(因为它可以大于 GB)。因此,简而言之,我希望在 blob 列中进行随机读/写访问,而无需将整个数据加载到内存中。是否有可用于执行这些操作的函数?谢谢你。
我在我的SQL数据库中上传BLOB文件.我创建动态超链接重定向到我的downloads.aspx.cs,下载文件.
当我点击它时,我唯一检索的是这样的:
*????JFIF,,??ExifMM*? ???(1?2;%+>P?`???7??i??%??NIKON CORPORATIONNIKON D3-??'-??'Adobe Photoshop CS4 Macintosh2010:11:19 21:53:25 9?I?@d!ddGddd+?K?r? (?????"?'@?0221??????? ???? ? ??,??42??42??42?0100??????d????J????R?b???? ? ??Z @( 2010:11:19 20:44:392010:11:19 20:44:39 ? ASCII R030100??(?HH????JFIFHH??Adobe_CM??Adobed????*
Run Code Online (Sandbox Code Playgroud)
这是我在这个download.aspx中的Page_Load代码:
protected void Page_Load(object sender, EventArgs e)
{
string filename = Request["file"].ToString();
var conString = ConfigurationManager.ConnectionStrings["LocalSqlServer"];
string strConnString = conString.ConnectionString;
SqlConnection dbConnection = new SqlConnection(strConnString);
dynamic queryString = ("SELECT Data FROM Files WHERE Name = '" + filename + "'");
SqlCommand theCommand = new SqlCommand(queryString, dbConnection);
dbConnection.Open();
SqlDataReader reader = theCommand.ExecuteReader();
if (reader.Read() && reader != …Run Code Online (Sandbox Code Playgroud) 我正在开发一个 AppEngine 应用程序,要存储图像,它们必须存储在BlobProperty.
是否有 Mac/Linux 方式将图像转换为其 Blob 表示,或者是否有任何工具(尤其是在线)可以做到这一点?
让我们说如果我捕获屏幕截图.有我的代码
int sWidth = 1600, sHeight = 1200;
Bitmap B_M_P = Bitmap(sWidth, sHeight);
Graphics gfx = Graphics.FromImage((Image)B_M_P);
gfx.CopyFromScreen(0, 0, 0, 0, new Size(screenWidth, screenHeight));
B_M_P.Save("img.jpg", ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)
而不是将其保存到图像,我希望能够将其发送到我的SQL或MySQL并将它们作为BLOB存储在数据库中.
我也知道LINQ查询数据库.我不知道的是中间部分.
Data Type在BLOB列中使用什么样的INSERT,我的猜测是它会是Byte[]什么?如果是'Byte',则转换非常简单.
ImageConverter imgc = new ImageConverter();
Byte[] temp = (byte[])imgc.ConvertTo(B_M_P,typeof(byte[]));
Run Code Online (Sandbox Code Playgroud)
以便之后我可以准备我的查询
"INSERT INTO EMPLOYEE (pic) VALUES ('"+temp+"');"
Run Code Online (Sandbox Code Playgroud)
不知道你们大多数人是否都知道保存文件的javascript库.
基本上代码如下:
var bb = new BlobBuilder();
bb.append(content);
var fileSaver = window.saveAs(bb.getBlob("text/plain;charset=UTF-8"), "filename.txt");
Run Code Online (Sandbox Code Playgroud)
但现在是这样的:
var oMyBlob = new Blob([content], { type : "text/plain", endings: "transparent"});
window.saveAs(oMyBlob, "filename.txt");
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,无论我使用什么(如果BlobBuilder被弃用或Blob),newLines都没有显示,所有内容都保存在文本文件的同一行下.
你们知道为什么会这样吗?尝试使用不同的ContentTypes:text/plain,text/richher,text/html ...
这似乎都不适用于newLines.如果我创建了一个我要保存在文件中的"警报(数据)",那么newLines就在那里.当我使用这个库时,看起来它解析了newLines或其他东西,dunno :(也试过了另一个charsets ..
提前致谢.
我创建了一小段脚本,它调用 API 来获取 PDF 并将 responseType 作为数组缓冲区发送。
使用这个我创建一个新的 Blob 并将类型设置为“应用程序/pdf”
为了强制下载,我创建了一个锚元素,将 blob 传递给它并单击它。
这在本地和我的测试服务器上的其他浏览器上都可以正常工作,但在 Chrome 上我失败了 - 下载栏中没有文件。
PDF 绝对可用,因为我可以将 API 的 url 粘贴到选项卡中并查看它,并且来自原始 API 调用的响应被传递到 Blob。
示例代码
var fileName = 'dummyFilename-' + offerId + '.pdf';
var blob = new window.Blob([resData], { type: 'application/pdf' });
var anchorElement = document.createElement('a');
var url = window.URL.createObjectURL(blob);
document.body.appendChild(anchorElement);
anchorElement.id = 'anchorElement';
anchorElement.hidden = 'true';
anchorElement.href = url;
if (typeof anchorElement.download !== 'undefined') {
anchorElement.download = fileName;
} else {
anchorElement.target = '_blank';
}
anchorElement.click();
Run Code Online (Sandbox Code Playgroud) 我目前具有将文件上传到Azure blob存储并在通用窗口应用程序中从其下载的功能,该功能运行良好。我正在尝试创建一个过程,通过该过程,我每次将文件上传到Azure blob时,都可以创建(或返回)可共享的下载链接,该共享链接可以与可以使用它下载文件的人共享,而无需访问该应用程序。
这可能吗?
我尝试使用Google Drive API来做到这一点,并不介意将数据移至Google Drive,但是Google Drive API不支持通用Windows应用程序。(如果可以,请告诉我如何在通用窗口应用中实现该功能。)
我试图转换从输入type = file元素捕获的图像文件而没有成功。以下是我的JavaScript代码
var img = document.getElementById('myimage');
var file = document.querySelector('input[type=file]').files[0];
var reader = new FileReader();
reader.addEventListener("load", function () {
var theBlob = reader.result;
theBlob.lastModifiedDate = new Date();
theBlob.name = file;
img.src = theBlob;
var newfile = new File([theBlob], "c:files/myfile.jpg");
}, false);
if (file) {
reader.readAsDataURL(file);
}
Run Code Online (Sandbox Code Playgroud)
该图像会正确显示在img元素中,但File命令不会创建myfile.jpg图像文件。我试图捕获图像,然后使用javascript调整大小,然后再将其上传到服务器。有人知道为什么不创建图像文件吗?更好的是,没有人有代码说明如何在客户端上调整图像文件的大小,然后将其上传到服务器吗?
我正在使用Cordova Media将音频录制到一个空文件中。
要上传它,我需要在文件上具有内容类型。
我正在尝试将文件转换为Blob,以便可以设置内容类型,但是我正努力将文件转换为Blob
state.cordova.localDirectory.getFile(filename,{create:true, exclusive:false},
f => {
const options = {
SampleRate: 16000,
NumberOfChannels: 1,
}
media = new window.Media(f.nativeURL,() =>
f.file(file => {
const blob = new Blob(file,{type: 'audio/m4u'}) <-- Trying to convert file into a blob here
blob.lastModifiedDate = new Date()
blob.name = filename
console.log(blob)
upload(blob,'audio/m4u')
.then(data=> {console.log(data);store.dispatch(voiceAudioUploaded(sessionId,gameTaskId,data))}, err=> console.log(err))
}
, err => console.log('err',err) ))
media.startRecordWithCompression(options)
})
Run Code Online (Sandbox Code Playgroud)
错误是
无法构造“ Blob”:迭代器getter不可调用。
`