मैं जर्सी का उपयोग कर बाकी वेब सेवा को कार्यान्वित कर रहा हूं। फ़ाइल निर्देशिका में फ़ाइल को सहेजने के लिए मुझे ServletContext की ऑब्जेक्ट की आवश्यकता है। कृपया संदर्भ प्राप्त करने में मेरी मदद करें।बाकी वेब सेवा में ServletContext कैसे प्राप्त करें
मैं एंड्रॉइड डिवाइस से इस webservice को कॉल कर रहा हूं।
अग्रिम धन्यवाद।
@Path("notice")
public class NoticeResources {
@Resource
private ServletContext context;
@POST
@Path("uploadphoto")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces("text/plain")
public String uploadNotices(@FormDataParam("file") InputStream uploadedInputStream) {
File photoDirectory = new File("\\photo");
// if the directory does not exist, create it
if (!photoDirectory.exists()) {
boolean result = photoDirectory.mkdir();
if(result){
System.out.println("DIR created");
}
}
String rootPath = photoDirectory.getAbsolutePath();
String uploadedFileLocation = rootPath + "\\photo.jpg";
// save it
try {
writeToFile(uploadedInputStream, uploadedFileLocation);
} catch(Exception e) {
return "no" + rootPath;
}
return "yes" + rootPath;
}
// save uploaded file to new location
private void writeToFile(InputStream uploadedInputStream, String uploadedFileLocation) throws Exception {
OutputStream out = new FileOutputStream(new File(uploadedFileLocation));
int read = 0;
byte[] bytes = new byte[1024];
out = new FileOutputStream(new File(uploadedFileLocation));
while ((read = uploadedInputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
out.flush();
out.close();
}
}
+1 मेरा मानना है कि इसे पैरामीटर के रूप में तरीकों से इंजेक्शन दिया जा सकता है (कम से कम रीस्टेसी में यह संभव है, जर्सी एक जैसा होना चाहिए)। – acdcjunior
आप इसे सही कर सकते हैं, मैंने इसे शामिल नहीं किया क्योंकि इसे ओपी प्रश्न में स्पष्ट रूप से नहीं पूछा गया था - लेकिन मैं इसे शामिल करूंगा। – ikumen
+1। अच्छा .. मददगार है। –