0

The standard way for FileUpload is a browse button to allow user to select file to upload.

Is there a way to set the filename for com.google.gwt.user.client.ui.FileUpload manually? The only available method regarding this is getFileName but no setFileName

Update:

I'm not referring to GWT app accessing file system, just a way to set the filename to whatever filename, usually for blob / blob url created in the browser

4

2 回答 2

1

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

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

于 2013-09-05T15:01:42.900 回答
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

于 2013-09-05T15:03:38.453 回答