PDA

View Full Version : سوال: خطای WARNING: No injection source found هنگام اپلود فایل در جرسی



MSHService
یک شنبه 30 فروردین 1394, 15:46 عصر
با درود و ادب
دوستان عزیز میخوام با جرسی یه سرویس درست کنم که بتونم فایل باهاش به سرور فایل آپلود کنه.
حالا هر کار میکنم خطای زیر رو میده :
جرسیم 2.2 هست
این سورس هم از تو نت برداشتم :)
ممنون میشم راهنماییم کنید

@Path("test")public class TestUploadFile {

@GET
@Path("t")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String getTest(){
return "Hello Test";
}



@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();
}

}

}




اینم کل خطا

WARNING: No injection source found for a parameter of type public javax.ws.rs.core.Response com.pluralsight.resource.web.server.TestUploadFile .uploadFile(java.io.InputStream,com.sun.jersey.cor e.header.FormDataContentDisposition) at index 0.

ahmad.mo74
یک شنبه 30 فروردین 1394, 22:53 عصر
سلام

jersey 2 یه خورده اوضاش فرق داره با 1.

کدی که سمت کلاینت زدی یا فرم html ات با کانفیگ های jersey رو هم بذاری بهتره. توی این کدی که گذاشتی مشکلی نیست!

این لینکم ببین : http://barnamenevis.org/showthread.php?484088-%D8%A7%D9%BE%D9%84%D9%88%D8%AF-%D9%81%D8%A7%DB%8C%D9%84
(jersey یکه البته)

اینم مثال از jersey 2 :

http://www.javatutorials.co.in/jax-rs-2-jersey-file-upload-example/
http://stackoverflow.com/questions/24637038/jersey-2-multipart-upload-client
http://stackoverflow.com/questions/18252990/uploading-file-using-jersey-over-restfull-service-and-the-resource-configuration

MSHService
سه شنبه 01 اردیبهشت 1394, 14:08 عصر
کانفیگ جرسیه دیگه چیه؟!
من چرسی رو کانفیگ نکردم! همینطوری دارم ازش استفاده میکنم. مگه کانفیگ داره؟!

سمت کلاینتم یه Html ساده :


<html><body> <h1>Upload File with RESTFul WebService</h1> <form action="http://localhost:8080/exercise-services/webapi/fileupload" method="post" enctype="multipart/form-data"> <p> Choose a file : <input type="file" name="file" /> </p> <input type="submit" value="Upload" /> </form></body></html>


منم سورسم از همونجایی که آدرس دادید!!

من توی Web.xml چیزی ننوشتم!!

میتونه مشکل از همین باشه؟

اینم زدم! متاسفانه کار نمیکنه!!

همش همون خطا رو میده :(

تاپیکه اپلود فایل (http://barnamenevis.org/showthread.php?484088-%D8%A7%D9%BE%D9%84%D9%88%D8%AF-%D9%81%D8%A7%DB%8C%D9%84) هم فایل سورسش حذف شده:(
با سپاس