首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FormPanel不在火狐中上传文件

FormPanel不在火狐中上传文件
EN

Stack Overflow用户
提问于 2011-09-20 23:00:25
回答 1查看 1.6K关注 0票数 3

有一个特殊的问题。

我正在使用FormPanel将数据发送到数据库并上传文件。

在Chrome中,这很好用,但在Firefox中,它会将数据发送到数据库,但不会上传文件。Firebug返回以下错误:

代码语言:javascript
复制
Form contains a file input, but is missing method=POST and enctype=multipart/form-data on the form.  The file will not be sent.

我觉得这很奇怪。检查了页面源代码,一切似乎都很正常:

代码语言:javascript
复制
<form target="FormPanel_revanweb_1" action="phpFiles/newBookmark.php" enctype="ENCODING_MULTIPART" method="POST" style="position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px;" class="gwt-TabLayoutPanelContent">

下面是我使用UiBinder构建表单面板的方法:

代码语言:javascript
复制
<g:FormPanel ui:field="formPanel" action="phpFiles/newBookmark.php" method="POST" encoding="ENCODING_MULTIPART">
    <g:VerticalPanel ui:field="tabNewWrapper" stylePrimaryName="tabNew-wrapper">
        <g:HTMLPanel ui:field="bookmarkNamePanel" styleName="container">
            <g:Label text="Bookmark Name:" />
            <g:TextBox name="txtBookmarkName" ui:field="txtBookmarkName" width="100%" />
        </g:HTMLPanel>
        <g:HTMLPanel ui:field="bookmarkURLPanel" styleName="container">
            <g:Label text="Bookmark URL:" styleName="label" />
            <g:TextBox name="txtBookmarkURL" ui:field="txtBookmarkURL" width="100%" />
        </g:HTMLPanel>
        <g:HTMLPanel ui:field="bookmarkDescriptionPanel" styleName="container">
            <g:Label text="Bookmark Description" styleName="label" />
            <g:TextArea name="txtBookmarkDescription" ui:field="txtBookmarkDescription" width="100%" height="60px" />
        </g:HTMLPanel>
        <g:HTMLPanel ui:field="bookmarkImgUploadPanel" styleName="container">
            <g:Label text="Image:" styleName="label" />                             
                <g:VerticalPanel ui:field="vpForm">
                    <g:FileUpload name="logo" ui:field="uploadFile" />
                </g:VerticalPanel>
        </g:HTMLPanel>
        <g:HTMLPanel ui:field="bookmarkcbActivePanel" styleName="container">
            <g:CheckBox  name="cbActive" ui:field="cbActive" text="Active?" styleName="label" />
        </g:HTMLPanel>
        <g:HTMLPanel ui:field="bookmarkTagsPanel" styleName="container">
            <g:Label text="Tags:" styleName="label" />
            <g:SuggestBox ui:field="sbBookmarkTags" animationEnabled="true" width="100%" />
        </g:HTMLPanel>
        <g:HTMLPanel ui:field="btnOKPanel" styleName="container">
            <g:SubmitButton ui:field="btnSubmit" text="OK" styleName="buttonOK" />
            <g:Label ui:field="lblWarning" visible="false" styleName="warning" />
            <g:Hidden ui:field="sessionID" name="sessionid" visible="false" />
        </g:HTMLPanel>
    </g:VerticalPanel>
</g:FormPanel>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-20 23:40:52

您正在将编码设置为ENCODING_MULTIPART,而不是multipart/form-data

注意:ENCODING_MULTIPARTString类型的常量,它不是枚举;FormPanel上的setEncoding接受String作为参数;因此,如果您在ui.xml中编写ENCODING_MULTIPART,则会将字符串设置为"ENCODING_MULTIPART",而不是FormPanel.ENCODING_MULTIPART常量的值(顺便说一句,它只能在使用<ui:import field="com.google.gwt.user.client.ui.FormPanel.ENCODING_MULTIPART" />的ui.xml中引用,然后用作{ENCODING_MULTIPART})

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7487333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档