我正在使用jQuery文件上传插件.我正在隐藏文件输入并在单击一个单独的按钮时激活它.(见这个小提琴.)
HTML:
<div>
<button class="browse">Browse</button>
<input id="upload" type="file" style="display: none;" />
</div>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
var element = $("#upload");
$(".browse").click(function () {
$("#upload").trigger("click");
});
element.fileupload({
add: function () {
alert("add");
}
});
Run Code Online (Sandbox Code Playgroud)
请注意,如果您按下按钮然后选择一个文件,该add方法将被激活,您将收到警报.再做一遍,你会得到另一个警报.
现在,看到这个小提琴.唯一的区别是我改变了以下行
$("#upload").trigger("click");
Run Code Online (Sandbox Code Playgroud)
至
element.trigger("click");
Run Code Online (Sandbox Code Playgroud)
请注意,现在,当您第一次单击该按钮然后选择一个文件时,该add方法将被激活,您将获得警报(就像之前一样),但如果再次执行此操作,则该add方法永远不会激活.
造成这种行为差异的原因是什么?
我正在使用jQuery-File-Upload和jQuery-iframe-Transport来尝试获得对旧版IE的支持.
我已经设置了forceIframeTransport选项true,使其在所有浏览器中的行为大致相同,但是在使用iframe传输时,无论浏览器如何,我似乎都没有在服务器端获得任何数据.
我在服务器端吐出请求标头,然后我回来了:
array(
Host => "*******"
Connection => "keep-alive"
Content-Length => "0"
Accept => "*/*"
Origin => "**************"
X-Requested-With => "XMLHttpRequest"
User-Agent => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"
DNT => "1"
Referer => "***********"
Accept-Encoding => "gzip,deflate,sdch"
Accept-Language => "en-GB,en-US;q=0.8,en;q=0.6"
Accept-Charset => "ISO-8859-1,utf-8;q=0.7,*;q=0.3"
Cookie => "*********"
)
Run Code Online (Sandbox Code Playgroud)
[ *****s表示泄露信息; 你不需要那个;)]
哪个看起来不错,但是$_REQUEST为空(即array()),输入缓冲区也是空的:
$handle = fopen('php://input', 'r');
$file_data = '';
while(($buffer = fgets($handle, …Run Code Online (Sandbox Code Playgroud) 我需要使用jQuery文件上载控件中提供的formData参数在提交时将其他数据发送到服务器.formData的默认实现是调用一个函数来捕获表单中的所有控件并将它们序列化为一个数组(使用jQuery serializeArray()方法).
我的表单中有控件,但是当文件上传时,我没有获得任何其他数据.当我通过Fiddler进行检查时,请求中没有任何内容显示正在提交这些表单字段.
是否需要做一些额外的事情来提交这些内容?
顺便说一句,这两个链接讨论formData ...
https://github.com/blueimp/jQuery-File-Upload/wiki/Submit-files-asynchronously https://github.com/blueimp/jQuery-File-Upload/wiki/Options ...对于这一次搜索formData的页面.
为了它的价值,该multipart选项设置为true.
在http://blueimp.github.com/jQuery-File-Upload/的示例中,文件上传器会创建要作为缩略图上传的图像的预览.
我知道如何在上传后显示缩略图,因为done:回调会返回有关您上传的文件的一些数据,但是如何在上传之前完成而不首先实际上传文件(我认为如果没有先上传,这是不可能的)?
请查看下面的片段。我正在使用 jQuery fileUpload 和直接 s3 表单将视频上传到 AWS。我希望在视频到达任何本地服务器之前施加 5mb 的文件大小限制。如何修改此代码,以便完全停止上传并在文件大小超过 5mb 时提醒用户,如果小于,一切照常进行?
我在 S3 表单选项中添加了 5mb 的内容长度限制,因此拒绝上传大于此值的内容,但是如果有什么东西可以通知用户上传太大而无法开始,那将是可取的。
$ ->
$(".direct-upload").each ->
form = $(this)
$(this).fileupload
url: form.attr("action")
type: "POST"
autoUpload: true
dataType: "xml"
add: (event, data) ->
if data.files[0].size < 5242880
$.ajax
url: "/signed_urls"
type: "GET"
dataType: "json"
data:
doc:
title: data.files[0].name
async: false
success: (data) ->
form.find("input[name=key]").val data.key
form.find("input[name=policy]").val data.policy
form.find("input[name=signature]").val data.signature
data.submit()
send: (e, data) ->
$(".progress, #dropzone").fadeIn()
$.each data.files, (index, file) ->
$('.well').html("").append("Uploading: " + file.name + '<br>' …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建页面以使用AJAX,JQUERY和.Net HTTPHandler上传文件,如http://dotnet.dzone.com/news/async-file-upload-jquery-and
它仅在我第一次选择文件并上传时才有效.但是当我下次选择文件并且没有显示任何错误时它不起作用.
如果我将javascript事件绑定更改为旧学校方式,如下所示,它可以完美地工作.但是我想使用JQuery Binding.有什么我做错了吗?谢谢.
<input id="fileToUpload" type="file" size="45" name="fileToUpload" class="input" onchange="return ajaxFileUpload();">
Run Code Online (Sandbox Code Playgroud)

HTML代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:BoundField DataField="StudentID" HeaderText="ID" />
<asp:BoundField DataField="name" HeaderText="Name" />
<asp:TemplateField>
<ItemTemplate>
<input id="fileToUpload" type="file" size="45" name="fileToUpload" class="fileToUpload" >
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
JQuery绑定代码:
<script>
$().ready(function () {
$(".fileToUpload").change(function() {
$.ajaxFileUpload
(
{
url: 'AJaxUploadHandler.ashx',
secureuri: false,
fileElementId: 'fileToUpload',
dataType: 'json',
data: { name: 'logan', id: 'id' },
success: function (data, status) {
if (typeof …Run Code Online (Sandbox Code Playgroud) 我正在使用 jQuery 将文件上传到服务器:
$.ajax({
url : 'http://www.example.com',
dataType : 'json',
cache : false,
contentType : false,
processData : false,
data : formData, // formData is $('#file').prop('files')[0];
type : 'post',
success : function(response) {something}
});
Run Code Online (Sandbox Code Playgroud)
我想将附加参数与文件一起发送。是否可以?如果是的话 - 怎么办?
谢谢!
我在我的简单页面JSP中有我的html/js代码:
<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="jquery.ui.widget.js"></script>
<script type="text/javascript" src="jquery.iframe-transport.js"></script>
<script type="text/javascript" src="jquery.fileupload.js"></script>
<body>
<form id="MyID" method="post" action="JSFPAGE" enctype="multipart/form-data">
<span class="btn btn-success fileinput-button">
<i class="glyphicon glyphicon-plus"></i>
<span>Select files...</span>
<input id="fileupload" type="file" name="files[]" multiple>
</span><br><br>
<!-- The global progress bar -->
<div id="progress" class="progress">
<div class="progress-bar progress-bar-success">
</div>
</div>
<!-- The container for the uploaded files -->
<div id="files" class="files">
</div>
<script type="text/javascript">
$(function () {
'use strict';
// Change this to the location of your server-side upload handler:
var url …Run Code Online (Sandbox Code Playgroud) 我在 PHP 上有一个简单的页面站点,用户可以在其中上传文件(stl-model)。起初我是用来上传 JS 的FormData。它适用于 Chrome 和 Firefox,但 Safari iOS 有时会发送大小为 0 字节的文件。JS console.log 显示,发送前文件大小为 718120 字节。PHP 调试模式显示全局$ _FILE存在且文件名为真,但文件为空:
(
[name] => TRRSExtenderMount.stl
[type] => application / octet-stream
[tmp_name] => / tmp / phphDceFc
[error] => 0
[size] => 0
)
Run Code Online (Sandbox Code Playgroud)
大小为 0 的错误不时重复。
我试过的:
但错误再次重复。我究竟做错了什么?
我认为 jQuery-File-Upload插件界面很棒,功能齐全!我非常喜欢它!但我的服务器是经典ASP iis ...现在我想使用jQuery-File-Upload来上传文件(图像文件).请帮助我thx!
在我的服务器上我有3个文件,上传工作正常!现在我想添加像index.asp这样的html5文件.并使用jQuery-File-Upload basic-plus us.我需要进度条,验证,预览图像和客户端图像大小调整.也许太复杂了.
也许我们只是编辑"jQuery-File-Upload/index.html"
<form id="fileupload" action="http://myserver.com/html5/upload.asp" method="POST" enctype="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)
我希望有人指导我.
请帮助我thx!抱歉我的英文...
3个文件/html5/index.asp
<!DOCTYPE html>
<html>
<head>
<meta charset="gbk" />
<title>fileReader?????????</title>
</head>
<body>
?????<br />
<form action="upload.asp" method="post" enctype="multipart/form-data">
<p>
???<input type="text" name="form1" value="form1_text" /><br />
???<input type="file" id="file" name="file1" multiple />
<input type="submit" value="??" />
</p>
<div name="result" id="result">
</div>
</form>
</body></html>
Run Code Online (Sandbox Code Playgroud)
2 /html5/index.asp
<!--#include file="UpLoad_Class.asp"-->
<%
dim upload
set upload = new AnUpLoad
upload.Exe = "*"
upload.MaxSize = 2 * 1024 * 1024 …Run Code Online (Sandbox Code Playgroud) jquery ×7
javascript ×4
file-upload ×2
ajax ×1
amazon-s3 ×1
asp-classic ×1
blueimp ×1
coffeescript ×1
form-data ×1
php ×1
safari ×1
upload ×1