为什么我的文件没有上传到Opera Mini?

时间:2015-01-06 01:04:22

标签: javascript php post file-upload opera-mini

我正在开发一个网页,它适用于大多数浏览器,但不适用于Opera Mini。不幸的是我在上传文件时遇到了问题。我一直试图解决它几个小时。我有这个javascript:

                $("body").append('<form id="opera-mini-uploader" method="POST" enctype="multipart/form-data"><input type="hidden" name="hiddenValues" id="hidden-values" value=""><input type="file" name="src"><input type="submit" id="upload-opera-mini" name="upload-opera-mini" value="upload"></form>');
                $("#opera-mini-uploader").submit(function() {
                    $("#hidden-values").val(JSON.stringify({
                        "product-title": $("#product-title").val(),
                        "product-description": $("#product-description").val(),
                        "category-id": $("#category-id").val(),
                        "product-price": $("#product-price").val(),
                        "varsity": $("#varsity").val(),
                        "campus-of-varsity": $("#campus-of-varsity").val(),
                        "telephone": $("#telephone").val(),
                        "repeat-telephone": $("#repeat-telephone").val(),
                        "iagree": $("#iagree").prop("checked")
                    }));
                });

它创建一个带有文件输入的表单,并处理提交以保存文件上载的其他属性。这些属性保存得很好,但文件没有上传...表单出现在正文的末尾,当我选择一个文件并尝试上传它时,它不成功。我没有看到错误,但文件也没有上传。我的问题是:我做错了什么?我应该如何实现文件上传实际上在服务器上有一些文件?文件上传适用于其他浏览器,但在这里我为此创建了一个单独的版本,因为Opera Mini无法满足这些花哨的功能。

1 个答案:

答案 0 :(得分:0)

经过长时间的实验,我找到了答案:

$("body").append('<form id="opera-mini-uploader" method="POST" enctype="multipart/form-data"><input type="hidden" name="hiddenValues" id="hidden-values" value=""><input type="file" name="src"><input type="submit" id="upload-opera-mini" name="upload-opera-mini" value="upload"></form>');

上面的代码会创建form,但submit事件不会绑定到它。我决定通过将其添加为HTML来测试它,而不是这一代:

<form id="opera-mini-uploader" method="POST" enctype="multipart/form-data"><input type="hidden" name="hiddenValues" id="hidden-values" value=""><input type="file" name="src"><input type="submit" id="upload-opera-mini" name="upload-opera-mini" value="upload"></form>

它没有额外的变化就像一个魅力。