标签: blob

将图像上传到数据库的正确方法

我知道你们中的一些人会说这不是正确的方法,但我在一个紧迫的截止日期前完成一个应用程序,截至目前我无法返回并修改代码将图像存储在目录中.

现在已经清除了

我的问题是我输入一个图像插入数据库.

(不介意类安全调用,如果数据有效,所有正在进行的操作都会进行一些检查)

$filename = $security->secure($_FILES['imgschool']['name']);
$tmpname = $security->secure($_FILES['imgschool']['tmp_name']);
$imgsize = $security->secure($_FILES['imgschool']['size']);
$imgtype = $security->secure($_FILES['imgschool']['type']);
$school = $security->secure($_POST['school']);


//begin upload
if($imgsize > 0) {
$handle = fopen($tmpname, "r");
$content = fread($handle, filesize($tmpname));
$content = addslashes($content);

//code to add all this to database
}
Run Code Online (Sandbox Code Playgroud)

变量$ content是图像,它的所有内容都是addslashes.我记得有人曾经提到过用base64做的事,但我几乎无法回想起它是如何写的.

这就是我从数据库调用图像的方式

除了所有的查询,这是调用图像的主要部分

header("Content-length: ".$imgsize);
header("Content-type: ".$imgtype);
header("Content-Disposition: attachment; filename=".$imgname);
print $row['img'];
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,而不是图像显示.网址只显示,所以在这种情况下我只看到这个

HTTP://localhost/admin/school-catalog.php页=图库&ID = 4

打开页面时,使用url中设置的正确参数查看图像.


对于那些想要查看正在进行的查询以保存图像的人等等,我复制了整个部分

//save image to db
if(isset($_POST['btnupload'])) {

$filename = $security->secure($_FILES['imgschool']['name']);
$tmpname = $security->secure($_FILES['imgschool']['tmp_name']);
$imgsize = $security->secure($_FILES['imgschool']['size']);
$imgtype = …
Run Code Online (Sandbox Code Playgroud)

php database blob

0
推荐指数
1
解决办法
2895
查看次数

MySQL中的图像

我的桌子上有一个blob列.如何在其中插入图像以及如何将其检索到Windows窗体上的图片框中?我正在使用visual studio IDE和VB.Net是该语言

mysql vb.net blob

0
推荐指数
1
解决办法
326
查看次数

使用file_get_contents将文件(图像)添加到数据库?

我有一个文件/tmp/image.jpg,我想上传到BLOB字段.

我可以读它的内容file_get_contents或者我需要freadrb(二进制)?

php mysql blob

0
推荐指数
1
解决办法
3638
查看次数

在mysql中保存3gp文件时出现ArrayIndexOutOfBoundsException

我的代码是:

psmnt = conn.prepareStatement("INSERT INTO upload_data(user_id,photo,audio) " + "values(?,?)");
psmnt.setLong(1, userId);   
fis = new FileInputStream(photoFile);
psmnt.setBinaryStream(2, (InputStream) fis, (int) (photoFile.length()));
fisAudio =  new FileInputStream(audioFile);
psmnt.setBinaryStream(3, (InputStream) fisAudio, (int) (audioFile.length()));
int s = psmnt.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

type of audioMYSQL DB是BLOB

例外是:

java.lang.ArrayIndexOutOfBoundsException: 2
    at com.mysql.jdbc.PreparedStatement.setBinaryStream(PreparedStatement.java:2089)
    at com.test.dao.TestDao.saveTestDetails1(TestDAo.java:154)
    at com.test.servlet.UploadImage.doPost(UploadImage.java:131)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

如何重新开始?请帮忙

java mysql blob

0
推荐指数
1
解决办法
1138
查看次数

为什么azure的CloudBlockBlob.Uri.AbsoluteUri返回HTTPS:对于blobls url?

var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");

// create container
Storage = account.CreateCloudBlobClient();

Container = Storage.GetContainerReference("container");
Container.CreateIfNotExist();

// configure for public access
var permissions = Container.GetPermissions();
permissions.PublicAccess = BlobContainerPublicAccessType.Container;
Container.SetPermissions(permissions);

...

CloudBlockBlob blob = Storage.GetBlockBlobReference(blobname);
blob.UploadFromStream(file.InputStream);
url = blob.Uri.AbsoluteUri;

//url returns:  https://myazureacct.blob.core.windows.net/...
Run Code Online (Sandbox Code Playgroud)

我可以使用http:// myazureacct访问该资源....但为什么AbsoluteUri会返回https?

url blob azure

0
推荐指数
1
解决办法
2776
查看次数

MySQL blob到Netbeans JLabel

我的MySQL中有一个blob类型的字段,我想把数据放在这个字段中JLabel作为Icon.例如,这JLabel将是我表单中用户的个人资料图片.

我使用了这些代码,但没有任何反应,我也希望fix to width或修复我的jlabel中的任何图像大小

DefaultTableModel pic = MyDB.DataTable("SELECT `Picture` FROM `photo` WHERE `Employee ID` = 'EQ0103'");
     if (pic.getRowCount() > 0){
         Blob blob = pic.getBlob(1);
         byte[] image1 = blob.getBytes(1, ALLBITS);
         ImageIcon image = new ImageIcon(image1);
         picture.setIcon(image);
         getContentPane().add(picture);
         setVisible(true);
     }
Run Code Online (Sandbox Code Playgroud)

picture 是我的jlabel的名字

java swing netbeans blob jlabel

0
推荐指数
1
解决办法
1万
查看次数

使用Crate blob表上传图像

是否真的可以使用Crate Blob表上传图像.我发现这个链接(https://crate.io/docs/reference/blob.html)能够在blob表上上传文本.

同样,我希望将图像上传到包装箱Blob表.我找不到这样做的方法.有人可以帮忙吗?

谢谢,拉梅什

blob crate

0
推荐指数
1
解决办法
273
查看次数

Java 8 Base64 Encode(Basic)不再添加新行.我该如何重新实现呢?

我基本上有完全相反的问题

新行追加上,我的加密字符串

似乎旧的Java Base64实用程序在返回字符串时总是每76个字符添加新行,但使用以下代码,我不会得到我需要的那些中断.

    Path path = Paths.get(file);
    byte[] data = Files.readAllBytes(path);
    String txt= Base64.getEncoder().encodeToString(data);
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以告诉编码器添加换行符?

我已经尝试实现一个stringbuilder来插入换行符,但它最终改变了整个输出(我将文本从java控制台复制到HxD编辑器,并与我已知的工作'BLOB'与换行符进行比较).

    String txt= Base64.getEncoder().encodeToString(data);

    //Byte code for newline
    byte b1 = 0x0D;
    byte b2 = 0x0A;     

    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < txt.length(); i++) {
        if (i > 0 && (i % 76 == 0)) {
            sb.append((char)b1);
            sb.append((char)b2);

        }

        sb.append(txt.charAt(i));
    }
Run Code Online (Sandbox Code Playgroud)

编辑(回答问题):

这不是最简单的解释,但是当我不使用字符串构建器时,编码的输出将如下所示:

AAAAPAog4lBVgGJrT2b + mQVicHN3d //////// 3hhcDJiLWVtMjUwLWVtMjUwLWRldjA0NTUAAAAAAA

但我希望它看起来像这样:

AAAAPAog4lBVgGJrT2b + mQVicHN3d //////// 3hhcDJiLWVtMjUwLWVtMjUwLWRldjA0NTUAAAAA..AA

如您所见,".."表示0x0D和0X0A或换行符,它在第76个字符处插入(这是旧base64输出的内容).

但是,当我在第76个字符后追加字节b1和b2(换行符)时,输出变为: …

java stringbuilder base64 blob

0
推荐指数
1
解决办法
2039
查看次数

Firebase存储-上传Blob网址

我有一个Blob网址,例如:

blob:http://localhost:4200/06a6baa9-b7ff-4171-9dc2-a1caed35e099
Run Code Online (Sandbox Code Playgroud)

当进入

  this.storage.ref('users/' + uid + '/mainPhoto').put(imageURL))
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Firebase存储:put索引0处的无效参数:预期的Blob或文件。

blob firebase firebase-storage

0
推荐指数
1
解决办法
2558
查看次数

在aws cognito中的set-ui-customization中的PNG格式无效

我正在使用aws cli命令来修改UI.

aws cognito-idp set-ui-customization --user-pool-id us-west-2_XXXXXXX --client-id ALL  --css ".submitButton-customizable{background-color: #0091e1;} " --region us-west-2 --image-file Logo.png
Run Code Online (Sandbox Code Playgroud)

但它给我一个错误,我的PNG文件无效.

我看过文档,发现图像文件应该有文件格式 Base64-encoded binary data object

我正在使用Linux Instance(Ubuntu)并从终端运行此命令.

我怎么能纠正这个?

shell png blob amazon-cognito

0
推荐指数
1
解决办法
289
查看次数