Google App Engine 프로젝트를 개발 중입니다. 사실, 이미지를 BLOBstore에 저장하려면 그 다음에 BLOB 키와 검색 URL을 복구하고 Datastore의 Demand 엔티티에 저장합니다.Blobstore에 이미지 삽입 하시겠습니까?
내 JSP 파일은 다음과 같습니다
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ page import="com.google.appengine.api.blobstore.*"%>
<%@ page import="com.Upload"%>
<%
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="css/style.css" rel="stylesheet" media="screen">
</head>
<body>
<div class="container-narrow">
<div class="masthead">
<ul class="nav nav-pills pull-right">
<li class="active"><a href="/">Accueil</a></li>
<li><a href="#upload">Upload</a></li>
</ul>
<h3 class="muted">Cloud Uploader</h3>
</div>
<hr />
<form
action="<%= blobstoreService.createUploadUrl("/") %>"
method="post" enctype="multipart/form-data">
<p>
<label>Fichier à envoyer : <input type="file" name="uploadedFile" /></label>
</p>
<div class="form-actions">
<input type="submit" class="btn" />
</div>
</form>
</div>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
요청 처리
내 서블릿 :
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
this.getServletContext().getRequestDispatcher("/UploadForm.jsp").forward(req, resp);}
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
ImagesService imagesService = ImagesServiceFactory.getImagesService();
Map<String, List<BlobKey>> blobs = blobstoreService.getUploads(req);
System.out.println(blobKeys.get(0).toString());//No result
DataManager dat=new DataManager(); // this class contains DemandCreate method
String personPhotoServingUrl= imagesService.getServingUrl(ServingUrlOptions.Builder.withBlobKey(blobKeys.get(0)));
String personPhotoBlobKey=blobKeys.get(0).toString();
dat.DemandCreate("id3", "", "", "", "", 1, "", "", 3031, "", "", personPhotoBlobKey, personPhotoServingUrl);// this method enables user to store data in Datasotre using Objectify..
resp.sendRedirect("/");}
이 문제는 내가 이미지를 업로드 할 때, 그것은 잘 작동하고, 블롭 이미지가 발견
을 BlobInfo 엔티티에는 없지만 내 Demand 엔티티에 결과가 추가되지 않았습니다 (이 엔티티에 새로운 삽입 없음). 나는 블롭 삽입 된 이미지의 키 인쇄하려고 :System.out.println(blobKeys.get(0).toString());//No result
하지만, 어떤 결과를. 도움 주셔서 감사합니다.
난 당신이 말한 것을 시도하지만 불행히도 어떤 결과도했습니다. – GenIce