Ich habe Probleme beim Verarbeiten des Bildes, das ich auf den Server hochlade. Wenn ich mich online umsehe, scheint es mir, dass ich zuerst ein DiskFileItemFactory
Objekt aus der Apache-Bibliothek erstellen muss, dann erstelle ich ein ServletFileUpload
Objekt. Von dort laufe ich alle Formularelemente durch, bis ich auf die Datei klicke. Allerdings, wenn ich formItems.iterator()
tun die Compilers klagtBild auf Servlet hochladen und dann an Amazon s3 weiterleiten
- Iterator is a raw type. References to generic type Iterator<E> should be
parameterized
- The method iterator() is undefined for the type List
Wie würde ich mich über diesen Fehler Festsetzung und könnte jemand mir helfen, lernen, was ich falsch mache? Ich bin neu in Java Servlets, aber ich bin mit Java vertraut. Hier ist mein Code unten. Vielen Dank!
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
PrintWriter out = response.getWriter();
AWSCredentials credentials = new BasicAWSCredentials("XXXX", "XXXX");
AmazonS3 s3Client = new AmazonS3Client(credentials);
try {
out.println("Hello, THIS WORKED!!<br/>");
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
out.println("Multipart is true");
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST");
response.setHeader("Access-Control-Allow-Headers", "Content-Type");
response.setHeader("Access-Control-Max-Age", "86400");
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(THRESHOLD_SIZE);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(MAX_FILE_SIZE);
upload.setSizeMax(MAX_REQUEST_SIZE);
List formItems = (List) upload.parseRequest(request);
/////COMPILER ERROR. It complains that the Iterator is a raw type. How Do I learn how to fix this?
Iterator iter = formItems.iterator();
// iterates over form's fields to get UUID Value
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
ObjectMetadata om = new ObjectMetadata();
om.setContentLength(item.getSize());
try {
} catch (AmazonServiceException ase) {
out.println(ase.toString());
} catch (AmazonClientException ace) {
out.println(ace.toString());
}
s3Client.putObject("images", "TestImg.jpg", item.getInputStream(), om);
if (item.isFormField()) {
out.println(item.getString());
}
// processes only fields that are not form fields
if (!item.isFormField()) {
// itemFile = item;
}
}
//
// }
//
}
} catch(Exception e) {
out.print(e.toString());
}
}