- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要使用这个plugin对于我的项目,但它似乎只有在将文件输入放入原始代码中时才能正常工作。但是,当我尝试从动态生成的文件输入中调用它时, context.Request.Files.Count
始终返回 0。
这就是我尝试根据我的需要调整该文章的方法:
ASPX 和 jQuery:
<%@ Page Title="Página principal" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script src="Scripts/jquery-1.10.2.js" type="text/javascript"></script>
<script src="Scripts/ajaxfileupload.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#btnGenerateFileInputs").click(function () {
var body = $("#tbDatos > tbody");
for (var i = 1; i <= 10; i++) {
var row = $("<tr>");
var col = $("<td>");
col.append(
"<div><input id='fupFile_" + i + "' type='file' accept='application/vnd.openxmlformats-officedocument.SpreadsheetML.Sheet'/>" +
"<input id='btnUpload_" + i + "' type='button' value='Upload' />" +
"</div>"
);
row.append(col);
body.append(row);
add_clickUploadFile("btnUpload_" + i);
}
});
function add_clickUploadFile(elemId) {
elem = $("#" + elemId);
elem.on('click', function () {
var idFileUpload = $(this).prev().attr("id");
$.ajaxFileUpload({
url: 'AjaxFileUploader.ashx',
secureuri: false,
fileElementId: idFileUpload,
dataType: 'json',
success: function (data, status) {
if (typeof (data.error) != 'undefined') {
if (data.error != '') {
alert(data.error);
} else {
alert(data.msg);
}
}
},
error: function (data, status, e) {
alert(e);
}
});
return false;
});
}
});
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<input id="btnGenerateFileInputs" type="button" value="Generate File Inputs" />
<table id="tbDatos" style="width: 100%;">
<tbody>
</tbody>
</table>
</asp:Content>
处理程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
namespace jQueryFileUpload
{
public class AjaxFileuploader : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.Request.Files.Count > 0)
{
string path = context.Server.MapPath("~/Temp");
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
var file = context.Request.Files[0];
string fileName;
if (HttpContext.Current.Request.Browser.Browser.ToUpper() == "IE")
{
string[] files = file.FileName.Split(new char[] { '\\' });
fileName = files[files.Length - 1];
}
else
{
fileName = file.FileName;
}
string strFileName = fileName;
fileName = Path.Combine(path, fileName);
file.SaveAs(fileName);
string msg = "{";
msg += string.Format("error:'{0}',\n", string.Empty);
msg += string.Format("msg:'{0}'\n", strFileName);
msg += "}";
context.Response.Write(msg);
}
}
public bool IsReusable
{
get
{
return true;
}
}
}
}
本文中的示例与我上面发布的代码之间的主要区别如下:
我决定这样做,而不是在创建按钮时直接调用 JavaScript 函数:
然后当单击按钮时,调用处理程序,传递当前文件输入的 id。
正如我之前告诉您的,处理程序被调用,但 context.Request.Files.Count
始终返回 0,就好像没有选择文件一样。
有什么想法为什么会发生这种情况吗?
一如既往,我们将不胜感激任何建议或指导。
提前致谢。
最佳答案
我在您的代码和文章的代码中看到的区别是您的输入字段缺少“名称”属性。因此尝试更改以下代码:
col.append(
"<div><input id='fupFile_" + i + "' type='file' accept='application/vnd.openxmlformats-officedocument.SpreadsheetML.Sheet'/>" +
"<input id='btnUpload_" + i + "' type='button' value='Upload' />" +
"</div>"
);
到
col.append(
"<div><input id='fupFile_" + i + "' name='fupFile_" + i + "' type='file' accept='application/vnd.openxmlformats-officedocument.SpreadsheetML.Sheet'/>" +
"<input id='btnUpload_" + i + "' name='btnUpload_" + i + "' type='button' value='Upload' />" +
"</div>"
);
关于jquery - 如何使 ajaxfileupload 使用动态生成的文件输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20255593/
前提条件: ajaxFileUpload.js插件多文件上传 步骤: 1、修改源码,(源码只支持单个文件的上传): 复制代码 代码如下: //修改前代码------- //
我想使用 AjaxFileUpload控制: 我正在审查这个,我需要的功能是隐藏上传按钮,并保存来自另一个按钮点击事件的所有按钮。 可以吗? 根据它们显示的属性,我没有看到隐藏按钮的选项。 最佳答案
相当简单。我只是在寻找能够在上传前为文件添加标题的用户。 (是的,我鼓励正确的文件名,但这不是重点。) protected void ajxUpload_Complete(object s
我正在使用一个名为 ajaxfileupload https://github.com/jfeldstein/jQuery.AjaxFileUpload.js 的插件 我的问题是,当我动态追加一个输入
昨天花了点时间整合了一下头像插件 东拼西凑的成果 先来看下效果 1.先使用ajaxfileupload插件做异步上传。这个地方我本来想做个上传进度的效果,但技术有限失败了。上传按钮我还做了一个
我在我的 Web 表单中使用 Ajax Control 工具包中的 AjaxFilUpload。我想检查文件大小,如果超过一定大小则取消上传。我已经在 OnClientUploadStart 和 On
我在提交表单时使用了ajaxfileupload。这也用于上传图像文件。图片已成功上传,但未包含其他要保存到数据库的数据?因为它使我的表字段留空,所以我认为这些值没有传递到category_save.
我有一个标准的 AjaxFileUpload 控件 我只希望他们在选择文件后自动上传文件,而不是必须按“上传”。有办法做到这一点吗? 最佳答案 将此脚本的引用添加到 ToolkitScriptMan
我可以有更多参数发送到网址:使用 ajaxFileUpload 吗? 我正在使用 $.ajaxFileUpload() ,当我使用 ajax 文件上传时,我也想传递一个额外的参数。我只传递一个名为“f
我需要使用这个plugin对于我的项目,但它似乎只有在将文件输入放入原始代码中时才能正常工作。但是,当我尝试从动态生成的文件输入中调用它时, context.Request.Files.Count 始
我正在使用 AjaxFileUpload 控件上传多个图像文件。我正在做的是将文件保存到一个文件夹中,然后将其插入到数据库中。但是我收到上传错误。该文件既不会上传到文件夹中,也不会保存在表格中。 这是
我如何验证在 AjaxFileUpload 中选择的文件已经上传或正在等待 这是我的 .aspx 页面代码 .aspx.cs代码为 protected
我正在使用 AjaxFileUpload 脚本并且它运行良好,但是我试图让它需要按下一个按钮。现在,当您在文件浏览器中找到要上传的图片后,它会直接触发。我不知道为什么,我认为插件是这样写的,但也许你可
我在 codeigniter 脚本中使用 ajaxFileUpload jquery 插件进行 ajax 上传! 但是,我不知道这是否是浏览器相关的错误。我在本地开发(本地主机)并且脚本工作完美,但是
我正在使用ajaxFileUpload用于将图像上传到 ASP.NET 服务器的 jQuery 插件。 我能够成功上传图像,但我也想将数据传递到服务器。我没能这么做。当我尝试传递 JSON 数据时,我
我正在 ASP.NET 4.0 网站中使用 AjaxFileUpload。问题是,当我上传文件时,它的 UploadComplete 会触发,从而导致回发到页面。在由 AjaxFileUpload 引
我想在我的 C# 网站中使用 AjaxFileUpload 控件。我希望我的控件能够使用我的本地语言。我尝试了下面的代码。在我的代码中,有些单词不是彩色的(例如:Sys.Extended.UI.Res
我正在一个项目中工作,我使用 ajaxfileupload.js 作为文件 uploader 。这个插件使用了jQuery,我的项目jquery版本是1.6.4 它在 Mozilla/IE/Opera
这与 I faced a few days ago 几乎相同的问题。我当时修复了它,但现在它不再起作用了。嗯,其中一些是有效的。 我正在使用AjaxFileUpload Plugin在我的 WP 插件
我使用 Ajax 文件上传控件在 Visual Studio 2010 中运行我的 Web 窗体的本地版本。 我通过上传文件并将 e.fileName、e.fileSize 等写入数据库进行测试,然后
我是一名优秀的程序员,十分优秀!