https://cloud.google.com/appengine/docs/java/blobstore/ 코드를 따르는 경우 업로드 URL 설정 및 콜백 URL 제공 등을 안내합니다 ... 파일 업로드시 콜백 URL이 호출되면 blob 키를 기억해야하며, Datastore에서 blob을 다시 읽으려면 데이터 저장소에 저장하거나 세션에 보관하거나 필요할 때마다 저장할 수 있습니다.
아래의 코드는 특히에 관심이 방법은 getBlobAsString입니다 도움이 될 것입니다 또는 당신은 단순히 blobStream (BlobstoreInputStream blobStream = 새로운 BlobstoreInputStream (blobKey))를 사용할 수있는의 InputStream으로 주위의 파일 내용을 전달하는 업로드 콜백
import org.apache.commons.io.IOUtils;
import com.google.appengine.api.blobstore.BlobKey;
import com.google.appengine.api.blobstore.BlobstoreInputStream;
import com.google.appengine.api.blobstore.BlobstoreService;
import com.google.appengine.api.blobstore.BlobstoreServiceFactory;
public class Upload extends HttpServlet {
private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
@Override
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
BlobKey blobKey = blobs.get("myFile");
if (blobKey != null) {
String keyString = blobKey.getKeyString();
// you can store keyString in the datastore or whatever
// if you want the call the analytics API then you need the blob as string
String csv = getBlobAsString(keyString);
// you can do with csv whatever you like, convert it as an array, etc... then pass it
// over to the analytic API
}
}
public static String getBlobAsString(String keyString) throws IOException {
BlobKey blobKey = new BlobKey(keyString);
BlobstoreInputStream blobStream = new BlobstoreInputStream(blobKey);
return IOUtils.toString(blobStream, "UTF-8");
}
}
를 처리하는 서블릿에서
는 – omerio
안녕 Omerio, 내가 업로드 API를 사용하고 문제의 웹 로그 분석 API에 대한 링크가 포함 당신이 할 수있는 -은 https : // 개발자 https : // developers. s.google.com/resources/api-libraries/documentation/analytics/v3/java/latest/com/google/api/services/analytics/Analytics.Management.Uploads.html –
자세한 내용은 여기를 참조하십시오. google.com/analytics/devguides/config/mgmt/v3/mgmtDailyUploadGuide –