В самом начале - извините за мой английский.Играть! 2 с Java на heroku, сохранить файл временно
Я разрабатываю игровое приложение в Java и разворачиваю его в герою. Мне нравится создавать картинку (точно QRCode), хранить ее временно и отображать ее на следующей странице. Я действительно знаю о ephemeral файловой системе herokus, но если я правильно понимаю, в стек кедра, я могу создавать файлы везде, где захочу, пока все в порядке, что они не будут храниться долгое время. Приложение просто нужно создать QR, я сканирую его, и файл можно удалить.
Кажется, что файл не создан. Любые идеи о том, как мне удастся временно сохранить и показать свои QR-коды?
Контроллер
public class Application extends Controller {
private static String workingDirectory = "public/images/";
public static Result qrCode() {
String msg = "I am a QR-String";
BufferedImage image = (BufferedImage) QR.stringToImage(msg);
String imgPath = workingDirectory+"posQR.png";
try{
File outputfile = new File(imgPath);
ImageIO.write(image,"png",outputfile);
}catch(IOException e){
e.printStackTrace();
}
return ok(views.html.qrCode.render());
}
}
Посмотреть QRcode
<img src="@routes.Assets.at("images/posQR.png")">
Edit 1
Хранится изображение как TempFile в передаете его зрения. На геройке локальный вид содержит точный абсолютный путь, но изображение не загружается. Любые идеи остались?
Контроллер
public class Application extends Controller {
private static String workingDirectory = "public/images/";
public static Result qrCode() {
String msg = "I am a QR-String";
BufferedImage image = (BufferedImage) QR.stringToImage(msg);
File outputfile = null;
String imgPath = workingDirectory+"posQR.png";
try{
outputfile = File.createTempFile("posQR",".png");
ImageIO.write(image,"png",outputfile);
}catch(IOException e){
e.printStackTrace();
}
return ok(views.html.qrCode.render(outputfile.getAbsolutePath()));
}
Посмотреть QRcode
@(qrPath: String)
...
<img id="qr" [email protected]>
Вы получаете трассировку стека при записи на диск? – Adil
Он отлично работает на местном, но не на героку. – erdbeerchen
Или, может быть, есть эквивалент этого http://stackoverflow.com/questions/4127876/send-generated-image-to-browser-using-play-framework, но в Play 2.x? – erdbeerchen