Giriş ve Çıkış ikili akışları JERSEY kullanarak?
Jersey öncelikle almak ve JSON kodlanmış veri hizmet veren Dinlendirici bir API uygulamak için kullanıyorum. Ama aşağıdaki gerçekleştirmek için ihtiyacım var, bazı durumlar var:
- İndirilebilir belgeler, PDF, DOC, ZİP, ya da diğer ikili dosyaları olarak verme.
- Parçalı gibi veri, bazı JSON artı yüklenen PDF dosyasını almak
AJAX bu web hizmeti çağrıları oluşturan tek sayfalık bir WordPress kullanmak-web tabanlı bir müşterim var. Şu anda, formu gönderir ve GET ve POST (JSON bir nesne ile) kullanır yapmaz. Veri ve ekli ikili bir dosya göndermek için form post kullanmak gerekir, ya da ben JSON artı ikili dosya ile parçalı bir istek yaratabilir mi?
Benim uygulama hizmeti katmanı şu anda bir PDF dosyası oluşturduğunda bir ByteArrayOutputStream oluşturur. Jersey üzerinden istemciye bu akışı çıkış için en iyi yolu nedir? Bir MessageBodyWriter yarattım, ama Jersey kaynağın nasıl kullanılacağını bilmiyorum. Bu doğru bir yaklaşım mı?
Örnekleri Jersey ile birlikte bakıyordum, ama bu şeylerin nasıl yapıldığını gösteren bir şey bulamadım. Eğer önemliyse, Jackson ile Jersey Nesne -^ yapmak için kullanıyorum . XML adım olmadan JSON ve gerçekten JAX-RS kullanan biri değilim.
CEVAP
Ya da bir PDF StreamingOutput nesne genişleterek dosyası bir ZİP başardı. Burada bazı örnek kod:
@Path("PDF-file.pdf/")
@GET
@Produces({"application/pdf"})
public StreamingOutput getPDF() throws Exception {
return new StreamingOutput() {
public void write(OutputStream output) throws IOException, WebApplicationException {
try {
PDFGenerator generator = new PDFGenerator(getEntity());
generator.generatePDF(output);
} catch (Exception e) {
throw new WebApplicationException(e);
}
}
};
}
PDFGenerator sınıfı (PDF oluşturmak için kendi sınıf) yazma yöntem çıktısı akışı alır ve yeni oluşturulan çıkış akışı yerine bu yazıyor.
Eğer en iyi yolu var mı bilmiyorum, ama işe yarıyor.
Eğer bir giriş varsa test etmek için k...
Form giriş alanları jQuery kullanarak ...
Eğer giriş boş olup olmadığını kontrol...
Nasıl giriş düğmesi görüntüyü CSS kull...
Giriş yapmaya çalışıyorum RDP AS3 kull...