手动为FileUpload设置文件名

时间:2013-09-05 14:56:10

标签: java gwt

FileUpload的标准方式是一个浏览按钮,允许用户选择要上传的文件。

有没有办法手动设置com.google.gwt.user.client.ui.FileUpload的文件名?唯一可用的方法是getFileName,但没有setFileName

更新

我不是指GWT app访问文件系统,只是一种将文件名设置为任何文件名的方法,通常用于浏览器中创建的blob / blob url

2 个答案:

答案 0 :(得分:1)

由于GWT生成HTML,并且出于安全原因HTML不允许这样做,答案是否定的。

您可以查看标准,了解使用FileUpload可以做什么或不做什么:http://www.w3.org/TR/html5/forms.html#file-upload-state-(type=file)

答案 1 :(得分:0)

由于GWT转换为Javascript/HTML.

由于安全原因,HTML/JavaScript不允许访问本地文件系统。

http://en.wikipedia.org/wiki/JavaScript#Security

  

JavaScript和DOM为恶意作者提供了通过Web在客户端计算机上运行脚本的潜力。浏览器作者使用两个限制包含此风险。首先,脚本在沙箱中运行,在沙箱中,脚本只能执行与Web相关的操作,而不能执行创建文件等通用编程任务。其次,脚本受同一原始策略的约束:来自一个网站的脚本无法访问发送到另一个站点的用户名,密码或cookie等信息

您必须通过发送该名称在服务器本身进行服务器请求/更改,以便将名称设置为资源。

在chrome中您可以尝试

yourForm.append("blob",blobObj, "yourFileName");

规格:http://www.w3.org/TR/XMLHttpRequest2/#interface-formdata