新聞中心
隨著人們生活水平的提高和科技的快速發(fā)展,現(xiàn)在拍攝和存儲(chǔ)照片已經(jīng)變得更加方便和普遍,但是隨之而來的一個(gè)問題是如何對(duì)這些照片進(jìn)行管理和儲(chǔ)存。針對(duì)這一問題,本文將介紹如何使用Java將照片添加至數(shù)據(jù)庫(kù),并提供詳細(xì)的實(shí)現(xiàn)步驟。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比西工網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式西工網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋西工地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
一、數(shù)據(jù)庫(kù)配置
我們需要新建一個(gè)數(shù)據(jù)庫(kù)并進(jìn)行配置??梢赃x擇MySQL數(shù)據(jù)庫(kù),在此不再贅述如何新建數(shù)據(jù)庫(kù)和配置,如果需要學(xué)習(xí)可以參考相關(guān)教程。接下來,我們需要?jiǎng)?chuàng)建一個(gè)表來存儲(chǔ)照片數(shù)據(jù),可以根據(jù)下面的SQL語句進(jìn)行創(chuàng)建:
“`sql
CREATE TABLE `photo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`content` longblob,
PRIMARY KEY (`id`)
);
“`
該表共有三個(gè)字段:id為自增的主鍵,name為圖片名稱,content為二進(jìn)制數(shù)據(jù)的圖像內(nèi)容。
二、引用相關(guān)jar包
在Java中,我們需要引用Java開發(fā)包來實(shí)現(xiàn)圖片和數(shù)據(jù)庫(kù)的交互。以下是需要引用的jar包:
– mysql-connector-java.jar
– commons-fileupload-1.4.jar
– commons-io-2.9.0.jar
三、編寫Java代碼
在Java代碼中,我們需要完成以下幾個(gè)步驟:
1.連接數(shù)據(jù)庫(kù),并創(chuàng)建preparedStatement對(duì)象
2.設(shè)置SQL語句并將參數(shù)預(yù)處理
3.通過Commons-FileUpload插件獲取上傳文件的MultipartFile
4.將MultipartFile轉(zhuǎn)換成byte[]類型,并將byte[]類型的數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中
下面是完整的Java代碼實(shí)現(xiàn):
“`java
package com.example.photo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.http.HttpServletRequest;
@Controller
public class PhotoController {
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping(“/addPhoto”)
@ResponseBody
public String addPhoto(HttpServletRequest request, @RequestParam MultipartFile photo) throws IOException {
String name = photo.getOriginalFilename();
InputStream content = photo.getInputStream();
String sql = “INSERT INTO photo (name, content) VALUES (?, ?)”;
try {
PreparedStatement preparedStatement = jdbcTemplate.getDataSource().getConnection().prepareStatement(sql);
preparedStatement.setString(1, name);
byte[] bytes = readBytes(content);
preparedStatement.setBytes(2, bytes);
preparedStatement.executeUpdate();
preparedStatement.close();
return “upload success”;
} catch (SQLException e) {
e.printStackTrace();
return “upload fl”;
}
}
private byte[] readBytes(InputStream inputStream) throws IOException {
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
byte[] byteStore = new byte[1024 * 1024];
int len = 0;
while ((len = inputStream.read(byteStore)) != -1) {
byteStream.write(byteStore, 0, len);
}
return byteStream.toByteArray();
}
}
“`
四、測(cè)試功能
以上就是將照片添加到數(shù)據(jù)庫(kù)的全部過程,我們啟動(dòng)Spring Boot應(yīng)用程序,訪問/uploadurl/upload即可上傳照片至數(shù)據(jù)庫(kù)。上傳方式為POST請(qǐng)求,使用postman或者表單方式均可訪問。
至此,我們已經(jīng)成功地實(shí)現(xiàn)了將照片添加至數(shù)據(jù)庫(kù)的功能。本文介紹的方法同樣適用于圖片或者文件批量插入數(shù)據(jù)庫(kù)中,希望能對(duì)大家有所幫助。
相關(guān)問題拓展閱讀:
- 用Java能不能把一張圖片存到MySQL數(shù)據(jù)庫(kù)中啊
用Java能不能把一張圖片存到MySQL數(shù)據(jù)庫(kù)中啊
MySQL 不是文本類數(shù)據(jù)存儲(chǔ),不能直接存儲(chǔ)圖片和文件。
可以,用BLOB,但是不推薦這么做,保存路徑比較好
數(shù)據(jù)庫(kù)中使用blob字段。 不過建議還是存儲(chǔ)圖片路徑吧,數(shù)據(jù)庫(kù)的輸出流慢的多
java添加照片到數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于java添加照片到數(shù)據(jù)庫(kù),使用Java將照片添加至數(shù)據(jù)庫(kù):實(shí)現(xiàn)步驟詳解,用Java能不能把一張圖片存到MySQL數(shù)據(jù)庫(kù)中啊的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
當(dāng)前文章:使用Java將照片添加至數(shù)據(jù)庫(kù):實(shí)現(xiàn)步驟詳解(java添加照片到數(shù)據(jù)庫(kù))
URL地址:http://m.fisionsoft.com.cn/article/cdohidc.html


咨詢
建站咨詢
