Hi,
The thing is that I see the tree of directories and files. That's awesome.
But to download file really, I need to right click and choose the "save
target as....". Then file dialog pops up and I can download really the
file to my client disk.
If I don't, the response is getting some how lost in the communication
since I have error like this:
*Communication with the server failed: TypeError: Unable to get property
'redirectURL' of undefined or null *
It seems for me that, the StreamResponse expects something as output,
which in the Jumpstart tutorial is there but I can not see it myself.
On the other hand I need to trigger somehow this file dialog in order to
allow user choose the folder to leave the file.
Dimitris
On 2016-02-12 16:32, Nathan Quirynen wrote:
You mean the file gets downloaded immediately to some download folder?
I think this is a setting of the used browser where a default location
has been set opposed to the setting where the browser will always ask
for the location.
So I'm afraid you don't really have control over this if I am correct.
Nathan
On 12/02/16 15:15, h3ph3st0s wrote:
Hi,
I am new to Tapestry version 5. where I built a treemodel, which
presents the files inside the catalog,
/<t:tree t:id="tree" t:model="stuffModel" t:node="treeNode"
t:value="classificationNode">
<p:label>
<t:if test="treeNode.leaf">
<a t:type="EventLink"
t:event="leafSelected" t:context="classificationNode.name"
t:zone="selectedZone" class="prop:leafClass"
href="#">
${treeNode.label}
</a>
</t:if>
<t:if test="!treeNode.leaf">
${treeNode.label}
</t:if>
</p:label>
</t:tree>/
and by clicking one of the files I build a StreamResponse ( I used
the snippet from the jumpstart code ( page:
http://jumpstart.doublenegative.com.au/jumpstart/examples/navigation/returntypes1
)
The function is :
/public Object onLeafSelected(final String classificationId) {
System.out.println(classificationId);
System.out.println(regFile.get(classificationId));
final File file = new File( regFile.get(classificationId) );
return new StreamResponse() {
InputStream inputStream;
@Override
public void prepareResponse(Response response) {
ClassLoader classLoader =
Thread.currentThread().getContextClassLoader();
try {
inputStream = new FileInputStream(file);
try {
response.setHeader("Content-Length", "" +
inputStream.available());
}
catch (IOException e) {
// Ignore the exception in this simple example.
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}//classLoader.getResourceAsStream(regFile.get(classificationId));
// Set content length to prevent chunking - see
//
http://tapestry-users.832.n2.nabble.com/Disable-Transfer-Encoding-chunked-from-StreamResponse-td5269662.html#a5269662
}
@Override
public String getContentType() {
return "text/plain";
}
@Override
public InputStream getStream() throws IOException {
return inputStream;
}
};
}/
My problem and my question is how do I present a save-file-dialog
that will help the user to point the download folder. In order to
really download the file I must make right-click and then choose
"save file as..." ?
Thanks in advance
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org