Это настолько запутанная информация о inte rnet и здесь о stackoverflow, что я понятия не имею, что делать и как решить эту проблему.
Я пытаюсь в течение 2 дней найти способ хранить изображения в mysql БД, и большинство из того, что я пробовал, не работает. Я пытался сохранить изображение как байт, я пытался использовать InputStream, а затем FileReader, и я не мог заставить его работать, потому что каждый раз я сталкивался с различными ошибками, которые я не смог решить сам.
Теперь я пытаюсь сохранить его как часть, так как нашел какой-то учебник, но сейчас в этом учебнике используется другой метод сервлета, который я никогда раньше не видел, вызывал processRequest или что-то в этом роде. который, черт возьми, меня смущает. Какой метод проще или лучше? Хранить как Blob или как ссылку? Я хотел бы получить некоторую помощь по выбору метода для его хранения и получить рекомендации по окончанию sh этой задачи.
Это то, что у меня есть до сих пор
<form method="POST" action="AddTripServlet" enctype="multipart/form-data">
<label for="tripname">Trip name</label>
<input type="text" name="tripname" id="tripname">
<br>
<label for="startdate">Start date</label>
<input type="date" name="startdate" id="startdate">
<br>
<label for="enddate">End date</label>
<input type="date" name="enddate" id="enddate">
<br>
<label for="impressions">Impressions</label>
<textarea name="impressions" id="impressions" rows="5" cols="30">Add your impressions here</textarea>
<br>
<label for="photoone">Add first photo</label>
<input type="file" id="photoone" name="photoone">
<br>
<label for="phototwo">Add second photo</label>
<input type="file" id="phototwo" name="phototwo">
<br>
<label for="location">Location</label>
<input type="text" id="location" name="location">
<br><br>
<input type="SUBMIT" value="Add trip">
<div id="map">
<p>Potential google map location if i can implement it</p>
</div>
</form>
public class AddTripServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html");
String name = request.getParameter("tripname");
String startDate = request.getParameter("startdate");
String endDate = request.getParameter("enddate");
String impressions = request.getParameter("impressions");
Part photoOne = request.getPart("photoone");
Part photoTwo = request.getPart("phototwo");
PrintWriter out = response.getWriter();
out.print("<html><body>" + startDate + "<br><h1>hello</h1>" + endDate + "<br>"+photoOne+"</body></html>"+ name);
}
}
create table trips(
trip_id INT NOT NULL AUTO_INCREMENT,
user_id INT,
trip_name VARCHAR(255) NOT NULL,
trip_start_date DATE,
trip_end_date DATE,
trip_impressions VARCHAR(255) NOT NULL,
photo_one mediumblob,
photo_two mediumblob,
trip_location_coordinates VARCHAR(255) NOT NULL,
primary key(trip_id),
foreign key(user_id) references users(user_id)
);
Печатник предназначен для тестового пурпура новления. Помогите мне выбрать лучший и простой метод сохранения файла между ссылками и BLOB-объектами, а также приведите пример кода для этого. Если мой вариант удачный, помогите мне понять, что мне делать дальше, чтобы сохранить файл как Blob в базу данных. Если мой вариант плохой, помогите мне добавить изображения в качестве справочных, дав мне некоторую подсказку.
Я также добавляю свою модель сюда, где у меня есть 2 ссылки на BLOB-объекты, которые я не уверен, верны они или нет что я хочу сделать.
public class Trip {
private String name;
private String startDate;
private String endDate;
private String impressions;
private Blob photoOne;
private Blob photoTwo;
private String location;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String getImpressions() {
return impressions;
}
public void setImpressions(String impressions) {
this.impressions = impressions;
}
public Blob getPhotoOne() {
return photoOne;
}
public void setPhotoOne(Blob photoOne) {
this.photoOne = photoOne;
}
public Blob getPhotoTwo() {
return photoTwo;
}
public void setPhotoTwo(Blob photoTwo) {
this.photoTwo = photoTwo;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
}