Download picture of table

Hello, I have a table where one of the columns has an input file, a download button and a picture. The idea would be when I upload the image you selected that it appears in the component of the image.

The problem that when I click on download, does not make the image loading. Aprece the mistake of saying I have to make a choice, even if you did.

Down to show my table code and methods, I use the component file, the button and load the image. My version of jdev is 11.2.4.0

< af:table value = "#{bindings." Var QCInspectImageVO1.collectionModel}"="row ".

lines = ' #{bindings. " QCInspectImageVO1.rangeSize}.

emptyText = "#{bindings." QCInspectImageVO1.viewable? "{'No data to display.': 'Access Denied.'}".

fetchSize = "#{bindings." QCInspectImageVO1.rangeSize}"rowBandingInterval ="0"id ="t2 ".

contentDelivery Binding = "#{backingBeanScope.backing_QCDetail.T2}" = 'immediate' "

immediate = "true" columnStretching = "column: c33" >

< af:column sortProperty = "#{bindings." QCInspectImageVO1.hints.Item.name}"sortable ="false ".

headerText = "#{bindings." QCInspectImageVO1.hints.Item.label}"id ="c26 ".

Visible = "false" >

< af:outputText value = "#{rank." Item}.

shortDesc = "#{bindings." QCInspectImageVO1.hints.Item.tooltip}.

ID = "ot15" / >

< / af:column >

< af:column sortProperty = "#{bindings." QCInspectImageVO1.hints.Diff1.name}.

sortable = "false" headerText = "#{bindings." QCInspectImageVO1.hints.Diff1.label}.

ID = "c27" >

< af:selectOneChoice value = "#{bindings." QCDtlDiff1VO1.inputValue}.

label = "#{bindings." QCDtlDiff1VO1.label}.

required = "#{bindings." QCDtlDiff1VO1.hints.mandatory}.

shortDesc = "#{bindings." QCDtlDiff1VO1.hints.tooltip}"id ="soc1">

< f: selectItems value = "#{bindings." QCDtlDiff1VO1.items}"id ="si1"/ >

< / af:selectOneChoice >

< af:inputText value = "#{row.bindings.Diff1.inputValue} '"

label = "#{bindings." QCInspectImageVO1.hints.Diff1.label}.

required = "#{bindings." QCInspectImageVO1.hints.Diff1.mandatory}.

columns = "#{bindings." QCInspectImageVO1.hints.Diff1.displayWidth}.

maximumLength = "#{bindings." QCInspectImageVO1.hints.Diff1.precision}.

shortDesc = "#{bindings." QCInspectImageVO1.hints.Diff1.tooltip}.

ID = "it37" rendered = "false" >

< f: validator binding="#{row.bindings.Diff1.validator}"/ >

< / af:inputText >

< / af:column >

< af:column sortProperty = "#{bindings." QCInspectImageVO1.hints.Diff2.name}.

sortable = "false" headerText = "#{bindings." QCInspectImageVO1.hints.Diff2.label}.

ID = "c28" >

< af:inputText value = "#{row.bindings.Diff2.inputValue} '"

label = "#{bindings." QCInspectImageVO1.hints.Diff2.label}.

required = "#{bindings." QCInspectImageVO1.hints.Diff2.mandatory}.

columns = "#{bindings." QCInspectImageVO1.hints.Diff2.displayWidth}.

maximumLength = "#{bindings." QCInspectImageVO1.hints.Diff2.precision}.

shortDesc = "#{bindings." QCInspectImageVO1.hints.Diff2.tooltip}.

ID = "it38' returned 'false' = >

< f: validator binding="#{row.bindings.Diff2.validator}"/ >

< / af:inputText >

< af:selectOneChoice value = "#{bindings." QCDtlDiff2VO1.inputValue}.

label = "#{bindings." QCDtlDiff2VO1.label}.

required = "#{bindings." QCDtlDiff2VO1.hints.mandatory}.

shortDesc = "#{bindings." QCDtlDiff2VO1.hints.tooltip}"id ="soc2">

< f: selectItems value = "#{bindings." QCDtlDiff2VO1.items}"id ="si2"/ >

< / af:selectOneChoice >

< / af:column >

< af:column sortProperty = "#{bindings." QCInspectImageVO1.hints.ReasonDesc.name}.

sortable = "false".

headerText = "#{bindings." QCInspectImageVO1.hints.ReasonDesc.label}"id ="c35">

< af:inputText value = "#{row.bindings.ReasonDesc.inputValue} '"

label = "#{bindings." QCInspectImageVO1.hints.ReasonDesc.label}.

required = "#{bindings." QCInspectImageVO1.hints.ReasonDesc.mandatory}.

columns = "#{bindings." QCInspectImageVO1.hints.ReasonDesc.displayWidth}.

maximumLength = "#{bindings." QCInspectImageVO1.hints.ReasonDesc.precision}.

shortDesc = "#{bindings." QCInspectImageVO1.hints.ReasonDesc.tooltip}.

ID = "it45' returned 'false' = >

< f: validator binding="#{row.bindings.ReasonDesc.validator}"/ >

< / af:inputText >

< af:selectOneChoice value = "#{bindings." QCDtlDefectDescVO1.inputValue}.

label = "#{bindings." QCDtlDefectDescVO1.label}.

required = "#{bindings." QCDtlDefectDescVO1.hints.mandatory}.

shortDesc = "#{bindings." QCDtlDefectDescVO1.hints.tooltip}.

ID = "soc3" >

< f: selectItems value = "#{bindings." QCDtlDefectDescVO1.items}"id ="si3"/ >

< / af:selectOneChoice >

< / af:column >

< af:column id = 'c36"width ="380">

< af:panelGroupLayout id = "pgl4" layout = "horizontal" >

< af:inputFile label = "Label 1" id = "if1.

value = "#{backingBeanScope.backing_QCDetail.ImageFile} '"

simple = "true" / >

< af:commandButton text = "upload" id = "cb1".

actionListener = "#{backingBeanScope.backing_QCDetail.uploadImageFileAction} '"

partialTriggers = "i1" / >

< af:image source="/viewimageservlet?path=#{backingBeanScope.QualityControlDetail.imagePath == null? ' {'No': backingBeanScope.QualityControlDetail.imagePath}.

ID = 'i1' inlineStyle = ' width: 25px; height: 25px; "partialTriggers ="cb1"/ >

< / af:panelGroupLayout >

< / af:column >

< af:column sortProperty = "#{bindings." QCInspectImageVO1.hints.ImageType.name}.

sortable = "false".

headerText = "#{bindings." QCInspectImageVO1.hints.ImageType.label}"id ="c29.

Visible = "false" >

< af:inputText value = "#{row.bindings.ImageType.inputValue} '"

label = "#{bindings." QCInspectImageVO1.hints.ImageType.label}.

required = "#{bindings." QCInspectImageVO1.hints.ImageType.mandatory}.

columns = "#{bindings." QCInspectImageVO1.hints.ImageType.displayWidth}.

maximumLength = "#{bindings." QCInspectImageVO1.hints.ImageType.precision}.

shortDesc = "#{bindings." QCInspectImageVO1.hints.ImageType.tooltip}.

ID = "it39" >

< f: validator binding="#{row.bindings.ImageType.validator}"/ >

< / af:inputText >

< / af:column >

< af:column sortProperty = "#{bindings." QCInspectImageVO1.hints.ImageSeq.name}.

sortable = "false".

headerText = "#{bindings." QCInspectImageVO1.hints.ImageSeq.label}"id ="c30 ".

Visible = "false" >

< af:inputText value = "#{row.bindings.ImageSeq.inputValue} '"

label = "#{bindings." QCInspectImageVO1.hints.ImageSeq.label}.

required = "#{bindings." QCInspectImageVO1.hints.ImageSeq.mandatory}.

columns = "#{bindings." QCInspectImageVO1.hints.ImageSeq.displayWidth}.

maximumLength = "#{bindings." QCInspectImageVO1.hints.ImageSeq.precision}.

shortDesc = "#{bindings." QCInspectImageVO1.hints.ImageSeq.tooltip}.

ID = "it40" >

< f: validator binding="#{row.bindings.ImageSeq.validator}"/ >

< / af:inputText >

< / af:column >

< af:column sortProperty = "#{bindings." QCInspectImageVO1.hints.ImageName.name}.

sortable = "false".

headerText = "#{bindings." QCInspectImageVO1.hints.ImageName.label}"id ="c31 ".

Visible = "false" >

< af:inputText value = "#{row.bindings.ImageName.inputValue} '"

label = "#{bindings." QCInspectImageVO1.hints.ImageName.label}.

required = "#{bindings." QCInspectImageVO1.hints.ImageName.mandatory}.

columns = "#{bindings." QCInspectImageVO1.hints.ImageName.displayWidth}.

maximumLength = "#{bindings." QCInspectImageVO1.hints.ImageName.precision}.

shortDesc = "#{bindings." QCInspectImageVO1.hints.ImageName.tooltip}.

ID = "it41" >

< f: validator binding="#{row.bindings.ImageName.validator}"/ >

< / af:inputText >

< / af:column >

< af:column sortProperty = "#{bindings." QCInspectImageVO1.hints.ImageAdress.name}.

sortable = "false".

headerText = "#{bindings." QCInspectImageVO1.hints.ImageAdress.label}"id ="c32.

Visible = "false" >

< af:inputText value = "#{row.bindings.ImageAdress.inputValue} '"

label = "#{bindings." QCInspectImageVO1.hints.ImageAdress.label}.

required = "#{bindings." QCInspectImageVO1.hints.ImageAdress.mandatory}.

columns = "#{bindings." QCInspectImageVO1.hints.ImageAdress.displayWidth}.

maximumLength = "#{bindings." QCInspectImageVO1.hints.ImageAdress.precision}.

shortDesc = "#{bindings." QCInspectImageVO1.hints.ImageAdress.tooltip}.

ID = "it42" >

< f: validator binding="#{row.bindings.ImageAdress.validator}"/ >

< / af:inputText >

< / af:column >

< af:column sortProperty = "#{bindings." QCInspectImageVO1.hints.ImageComments.name}.

sortable = "false".

headerText = "#{bindings." QCInspectImageVO1.hints.ImageComments.label}.

ID = "c33" >

< af:outputText value = "#{rank." ImageComments}.

shortDesc = "#{bindings." QCInspectImageVO1.hints.ImageComments.tooltip}.

ID = "ot16" / >

< / af:column >

< af:column sortProperty = "#{bindings." QCInspectImageVO1.hints.ReasonId.name}.

sortable = "false".

headerText = "#{bindings." QCInspectImageVO1.hints.ReasonId.label}"id ="c34.

Visible = "false" >

< af:inputText value = "#{row.bindings.ReasonId.inputValue} '"

label = "#{bindings." QCInspectImageVO1.hints.ReasonId.label}.

required = "#{bindings." QCInspectImageVO1.hints.ReasonId.mandatory}.

columns = "#{bindings." QCInspectImageVO1.hints.ReasonId.displayWidth}.

maximumLength = "#{bindings." QCInspectImageVO1.hints.ReasonId.precision}.

shortDesc = "#{bindings." QCInspectImageVO1.hints.ReasonId.tooltip}.

ID = "it44" >

< f: validator binding="#{row.bindings.ReasonId.validator}"/ >

< / af:inputText >

< / af:column >

< af:column id = "c70" >

< f: facet name = "header" >

"{[< af:commandImageLink id ="cil1"icon =" #{resource ['images: add.png]} "]}".

actionListener = "#{bindings." Createwithparameters.Execute} "/ >"

< / f: facet >

< / af:column >

< / af:table >

The methods are:

private UploadedFile imageFile.

{} public void setImageFile (imageFile UploadedFile)

this.imageFile = imageFile;

}

public getImageFile() {} UploadedFile

return imageFile.

}

{} public void uploadImageFileAction (ActionEvent actionEvent)

System.out.println ("upload!");

File directory = new File("C://ADF//");

get all files in a directory

File FListe [] = directory.listFiles ();

for (file: FListe) {}

Remove all previously downloaded files

If (!) "{NoImage.png".equalsIgnoreCase (file.getName ()))}

leader. Delete();

}

}

Download the currently selected file

Channel indicator = uploadImage (imageFile);

If (NO".equalsIgnoreCase (flag)) {" "}

FacesMessage msg =

new FacesMessage ("this is not an Image file, please download supported file type (.jpg, .png, etc.)" ");

msg.setSeverity (FacesMessage.SEVERITY_ERROR);

FacesContext.getCurrentInstance () .addMessage (null, msg);

}

}

To store the path to the downloaded Image file

String imagePath = null;

{} public void setImagePath (String CheminImage)

this.imagePath = imagePath;

}

public String getImagePath() {}

return imagePath;

}

private String uploadImage (file UploadedFile) {}

File UploadedFile = myfile;

If (myfile == null) {}

} else {}

System.out.println ("TYPE:" + myfile.getContentType ());

If (myfile.getContentType().equalsIgnoreCase("image/jpeg") |

myfile.getContentType().equalsIgnoreCase("image/png") |

myfile.getContentType().equalsIgnoreCase("image/bmp") |

{myfile.getContentType().equalsIgnoreCase("image/gif"))}

Path of the folder on the drive

Path String = "C: / / ADF / /";

Type string = "PNG";

String TypeVal = ".png";

If (myfile.getContentType().equalsIgnoreCase("image/jpeg")) {}

Type = "JPEG";

TypeVal = ".jpeg";

(} ElseIf (myfile.getContentType().equalsIgnoreCase("image/png")) {}

Type = "PNG";

TypeVal = '.png ';

(} ElseIf (myfile.getContentType().equalsIgnoreCase("image/bmp")) {}

Type = "PNG";

TypeVal = '.png ';

(} ElseIf (myfile.getContentType().equalsIgnoreCase("image/gif")) {}

Type = "GIF";

TypeVal = ".gif";

}

InputStream inputStream = null;

try {}

Generate a unique name for an image uploaded with date time

DateFormat dateFormat = new SimpleDateFormat ("yyMMdd_HHmmss");

Date date = new Date();

String dtTime = dateFormat.format (date);

dtTime = dtTime.replace ("", "_");

String name = 'IMG', '_' + dtTime;

System.out.println ("file name is" + name);

inputStream = myfile.getInputStream ();

Enter BufferedImage = ImageIO.read (inputStream);

Writing the file to the path

File outputFile = new file (path + name + TypeVal);

ImageIO.write (input, type, outputFile);

imagePath = outputFile.getAbsolutePath ();

System.out.println ("path:" + imagePath);

} catch (Exception ex) {}

handle the exception

ex.printStackTrace ();

} {Finally

try {}

inputStream.close ();

} catch (IOException e) {}

}

}

} else {}

imagePath = "NO";

}

}

setImageFile (null);

return imagePath;

}

Thank you for your help. It is very important to solve the problem

You use inputFile in a form not in each line, there is no need to put the file entry for each line

Check out these two positions for the download of the file and show it on the page.

Blog of Ashish Awasthi (Jdev/ADF): downloading files path absolute server in Oracle ADF (12.1.3)

Blog of Ashish Awasthi (Jdev/ADF): download and display of file path absolute server image - Orace ADF

Also see the blog of Timo to display image in table just after you download it (your case)

https://tompeez.WordPress.com/2014/12/13/handling-imagesfiles-in-ADF-part-5/

Ashish

Tags: Java

Similar Questions

Maybe you are looking for