दिलचस्प पोस्ट
स्कला ट्यूपल्स पर कार्यात्मक संयोजक का उपयोग करें? jQuery: लोड txt फ़ाइल और div में डालें सी #: चलाने की प्रक्रिया का पूरा रास्ता कैसे प्राप्त करें? Guzzlehttp – कैसे गजले 6 से प्रतिक्रिया का शरीर मिलता है? आईओएस 8 एसडीके: मॉडेल UIWebView और कैमरा / छवि पिकर आवेदन को संभालनेडिडबैकअक्टिव- "ऐप सक्रिय होने पर एक दृश्य नियंत्रक कैसे प्रतिक्रिया कर सकता है?" JavaFX को कक्षा की मुख्य विधि से प्रारंभ करना जो आवेदन को बढ़ाता नहीं है मैं जावास्क्रिप्ट में एक स्ट्रिंग में अक्षर कैसे फेर सकता हूँ? PHP को उप निर्देशिकाओं सहित फ़ाइल प्रविष्ट करें एंड्रॉइड- मैं android.net कैसे परिवर्तित कर सकता हूं। यूआरआई ऑब्जेक्ट को java.net.URI ऑब्जेक्ट पर? जीडीबी में सी ++ वेक्टर के तत्वों को कैसे मुद्रित कर सकता हूं? वास्तविक दुनिया उदाहरण के साथ "डेकोरेटर पैटर्न" को समझें DIV ऊर्ध्वाधर स्क्रॉल बार बाईं ओर निरंतर विफलता के साथ चर की बैच फ़ाइल तुलना क्या मुझे एआरसी के साथ init पद्धति में self.property का उल्लेख करना चाहिए?

MULTIPART_FORM_DATA: प्रकार के किसी पैरामीटर के लिए कोई इंजेक्शन स्रोत नहीं मिला javax.ws.rs.core.Response

मैं एक सेवा बनाने के लिए जर्सी आधारित शांत सेवा कार्यान्वयन रणनीति का उपयोग कर रहा हूं जो फाइल अपलोड करने के लिए इस्तेमाल की जाएगी। मेरी सेवा वर्ग का नाम है: UploadFileService.java (नीचे कोड देखें)

package com.jerser.service; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import com.sun.jersey.core.header.FormDataContentDisposition; import com.sun.jersey.multipart.FormDataParam; @Path("/fileUpload") public class UploadFileService { @POST @Path("/upload") @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFile( @FormDataParam("file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetail) { String uploadedFileLocation = "d://uploaded/" + fileDetail.getFileName(); // save it writeToFile(uploadedInputStream, uploadedFileLocation); String output = "File uploaded to : " + uploadedFileLocation; return Response.status(200).entity(output).build(); } // save uploaded file to new location private void writeToFile(InputStream uploadedInputStream, String uploadedFileLocation) { try { 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(); } catch (IOException e) { e.printStackTrace(); } } } 

ये मेरी जेआर फाइलें हैं जो मेरे लिब में हैं:

 aopalliance-repackaged-2.4.0-b10.jar asm-debug-all-5.0.2.jar hk2-api-2.4.0-b10.jar hk2-locator-2.4.0-b10.jar hk2-utils-2.4.0-b10.jar javassist-3.18.1-GA.jar javax.annotation-api-1.2.jar javax.inject-2.4.0-b10.jar javax.servlet-api-3.0.1.jar javax.ws.rs-api-2.0.1.jar jaxb-api-2.2.7.jar jersey-client.jar jersey-common.jar jersey-container-servlet-core.jar jersey-container-servlet.jar jersey-core-1.11.jar jersey-guava-2.17.jar jersey-media-jaxb.jar jersey-multipart-1.18.jar jersey-server.jar org.osgi.core-4.2.0.jar osgi-resource-locator-1.0.1.jar persistence-api-1.0.jar validation-api-1.1.0.Final.jar 

जब मैं अपना टमाटर सर्वर स्थापित करने की कोशिश कर रहा हूं, तो मुझे निम्न त्रुटि मिलती है:

 org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization. [[FATAL] No injection source found for a parameter of type public javax.ws.rs.core.Response com.jerser.service.UploadFileService.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition) at index 0.; source='ResourceMethod{httpMethod=POST, consumedTypes=[multipart/form-data], producedTypes=[], suspended=false, suspendTimeout=0, suspendTimeoutUnit=MILLISECONDS, invocable=Invocable{handler=ClassBasedMethodHandler{handlerClass=class com.jerser.service.UploadFileService, handlerConstructors=[org.glassfish.jersey.server.model.HandlerConstructor@d3e2d4]}, definitionMethod=public javax.ws.rs.core.Response com.jerser.service.UploadFileService.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition), parameters=[Parameter [type=class java.io.InputStream, source=file, defaultValue=null], Parameter [type=class com.sun.jersey.core.header.FormDataContentDisposition, source=file, defaultValue=null]], responseType=class javax.ws.rs.core.Response}, nameBindings=[]}'] at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:528) at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:166) at org.glassfish.jersey.server.ApplicationHandler$3.run(ApplicationHandler.java:327) at org.glassfish.jersey.internal.Errors$2.call(Errors.java:289) at org.glassfish.jersey.internal.Errors$2.call(Errors.java:286) at org.glassfish.jersey.internal.Errors.process(Errors.java:315) at org.glassfish.jersey.internal.Errors.process(Errors.java:297) at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:286) at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:324) at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:338) at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:171) at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:363) at javax.servlet.GenericServlet.init(GenericServlet.java:160) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1176) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1102) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1009) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4885) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5212) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5207) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 

इंटरनेट पर मैंने पाया कि वहाँ बहुत सारे उदाहरण हैं जो दिखाता है कि मल्टीटार्ट फ़ाइल को RESTFul API का उपयोग कैसे करें। लेकिन एक ही समाधान के साथ मैं उन कोड को भी चलाने में सक्षम नहीं हूं मुझे लगता है कि मैं जेएआर फाइलों में कुछ गलत कर रहा हूं किसी को भी इस पर मेरी मदद कर सकता है?

Solutions Collecting From Web of "MULTIPART_FORM_DATA: प्रकार के किसी पैरामीटर के लिए कोई इंजेक्शन स्रोत नहीं मिला javax.ws.rs.core.Response"

jersey-multipart-1.18.jar से छुटकारा jersey-multipart-1.18.jar । यह जर्सी 1.x के लिए है। इन दोनों को जोड़ें

  • जर्सी-मीडिया-बहुखण्डीय-2.17
  • mimepull-1.9.3

मैवेन के लिए आप इसका इस्तेमाल करेंगे

 <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-multipart</artifactId> <version>2.17</version> <!-- Make sure the Jersey matches the one you are currently using --> </dependency> 

इसके बाद आपको MultiPartFeature को कॉन्फ़िगर / पंजीकरण करना MultiPartFeature । यदि आप कॉन्फ़िगरेशन के लिए ResourceConfig का उपयोग कर रहे हैं, तो आप बस ऐसा कर सकते हैं

 register(MultiPartFeature.class); 

यदि आप web.xml का उपयोग कर रहे हैं, तो आप क्लास को एक <init-param> के रूप में जर्सी सर्वलेट में जोड़ सकते हैं

 <init-param> <param-name>jersey.config.server.provider.classnames</param-name> <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value> </init-param> 

अद्यतन करें

इसके अलावा, एक बार जब आप jersey-multipart-1.18.jar से छुटकारा jersey-multipart-1.18.jar हैं तो आप लापता आयातित वर्गों के लिए त्रुटियों का संकलन करेंगे। अधिकांश भाग के लिए, वर्ग के नाम अभी भी समान हैं, बस संकुल बदल गए हैं, अर्थात

  • org.glassfish.jersey.media.multipart.FormDataParam
  • org.glassfish.jersey.media.multipart.FormDataContentDisposition

मुझे भी यही अपवाद मिला है। मैंने वेब.एक्सएमएल में निम्नलिखित बदलाव किए हैं

 <init-param> <param-name>jersey.config.server.provider.classnames</param-name> <param-value>org.glassfish.jersey.filter.LoggingFilter;org.glassfish.jersey.moxy.json.MoxyFeature;org.glassfish.jersey.media.multipart.MultiPartFeature</param-value> </init-param> 

और जर्सी को 2.7 से बदलकर 2. 9 कर दिया। मुझे नहीं पता है कि इस 2 के इस बदलाव ने क्या समस्या हल कर ली है।