PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-FormPanel无法在Firefox中上传文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一个特殊的问题.

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

在Chrome中,此方法工作正常,但在Firefox中,它会将数据发送到数据库,但不上传文件. Firebug返回以下错误

Form contains a file input, but is missing method=POST and enctype=multipart/form-data on the form.  The file will not be sent.

我发现这很奇怪.
检查了页面代码,一切似乎都很好:

<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构建表单面板的方式:

<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>

解决方法:

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

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

大佬总结

以上是大佬教程为你收集整理的php-FormPanel无法在Firefox中上传文件全部内容,希望文章能够帮你解决php-FormPanel无法在Firefox中上传文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: