`
baiyuxiong
  • 浏览: 177968 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

给ajaxfileupload上传文件时增加一些参数

    博客分类:
  • php
阅读更多
ajaxfileupload是一个jquery的文件上传插件,可以利用ajax无刷新上传文件到服务器。其实现原理为:利用js动态创建一个表单,并提交。但默认情况下,该插件只能上传一个文件,且不能携带其它参数。有时候,我想给在上传文件的同时,还带一个参数,用来表示将文件上传到哪个目录下。下面的修改就可以实现这个功能。
第一步:调用插件的地方,加上参数:
	$("#loading")
		.ajaxStart(function(){
			$(this).show();			
		})
		.ajaxComplete(function(){
			$(this).hide();			
		});
		var targetDir = '/usr/local/apache/htdoc/upload';
		var url = '<?php echo site_url('file/upload');?>';
		$.ajaxFileUpload({
        url: url,
        secureuri: false,
        fileElementId: 'fileToUpload',
        dataType: 'text',
        //增加一个目标目录的参数
	targetDir:targetDir,
        success: function (data, status) {
           $('#upload_html').text(data);
        },
        error: function (data, status, e) {
           $('#upload_html').text(data);
        }
    });


第二步,修改插件代码:
在ajaxfileupload.js中调用创建表单的函数处,增加一个参数:
var form = jQuery.createUploadForm(id, s.fileElementId,s.targetDir);

修改createUploadForm函数:
createUploadForm: function(id, fileElementId,targetDir)
	{
		//create form	
		var formId = 'jUploadForm' + id;
		var fileId = 'jUploadFile' + id;
		var targetId = 'targetDir'+ id;
		var form = $('<form  action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');	
		var oldElement = $('#' + fileElementId);
		var newElement = $(oldElement).clone();
		var targetDirElement = '<input type="text" name="targetDir" value="'+targetDir+'">';
		$(oldElement).attr('id', fileId);
		$(oldElement).before(newElement);
		$(oldElement).appendTo(form);
		$(targetDirElement).appendTo(form);
		//set attributes
		$(form).css('position', 'absolute');
		$(form).css('top', '-1200px');
		$(form).css('left', '-1200px');
		$(form).appendTo('body');	
		return form;
    },

在php接受上传处理的页面,就可以用$_POST['targetDir']来接收目标目录的值了。
3
0
分享到:
评论
1 楼 mimang2007110 2010-10-19  
哥,你太强了,深度的支持你,  

相关推荐

    ajaxFileUpload上传文件时无返回结果,调整函数后出现syntaxError :unexpected

    在使用AjaxFileUpload进行文件上传时,可能会遇到一些常见的问题,比如“无返回结果”或者在尝试解决问题后出现“syntaxError: unexpected”的错误提示。这个情况通常与JavaScript语法错误、服务器端响应格式、...

    解决ajaxFileupload上传文件时的相关bug

    这个文件是在ajaxFileUpload.js文件基础上修改的,主要解决了以下问题: 1、由于jquery版本问题引起的bug,解决了ajaxFileUpload 报jQuery....3、优化,解决了使用ajaxFileUpload除了上传文件外不能传递其他参数的bug

    AjaxFileUpload实现文件上传

    AjaxFileUpload是基于JavaScript和AJAX技术的一种实现文件上传的方式,它允许用户在不刷新整个页面的情况下进行文件上传,提供了一种更为流畅的用户体验。在本文中,我们将深入探讨AjaxFileUpload的工作原理、如何...

    文件上传 ajaxfileupload.zip

    标题中的“文件上传 ajaxfileupload.zip”提示我们这个压缩包可能包含了一个用于实现文件上传功能的JavaScript库,名为“ajaxfileupload.js”。在Web开发中,文件上传是常见且重要的功能,尤其在需要用户提交图片、...

    AjaxFileUpload 文件下载

    3. **初始化插件**:通过`.ajaxFileUpload()`方法绑定到文件输入元素上,并设置必要的参数,如URL(服务器端处理上传的接口)、数据(可选,附加到请求的数据)和回调函数。 4. **处理结果**:定义各种状态的回调...

    ajaxfileupload异步上传文件

    3. **错误处理**:当文件上传失败时,可以捕获错误信息并展示给用户。 4. **文件类型限制**:可以通过配置限制用户只能上传特定类型的文件。 5. **文件大小限制**:可以设置上传文件的最大大小,防止大文件导致...

    ajaxFileUpload文件上传

    `ajaxFileUpload`是基于JavaScript和jQuery的一个插件,它利用Ajax技术实现了文件的异步上传,避免了传统文件上传时页面刷新带来的用户体验问题。通过在后台处理文件上传,前端可以实时显示上传进度和结果,增强了...

    jquery+ajaxfileupload+html文件上传

    - 使用AjaxFileUpload时,可能需要处理跨域问题,确保`secureuri`参数设置正确。 - 对于大文件上传,考虑分块上传和断点续传,以提高用户体验和稳定性。 通过以上步骤,我们可以创建一个基本的基于jQuery、...

    ajaxFileUpload重复提交,出现参数 is not params现象

    在IT行业中,AjaxFileUpload是一种常见的JavaScript库,用于实现异步文件上传,它基于AJAX技术,能够实现在不刷新页面的情况下完成文件上传操作。然而,有时候用户可能会遇到一些问题,比如“ajaxFileUpload重复提交...

    ajaxfileupload.js文件

    该js包是在官方下载的ajaxFileUpload.js基础上所做修改后的包,修改该包所要解决的问题包括: 1、浏览器上传文件后不刷新页面再次点击上传时后台...3、解决了使用ajaxFileUpload除了上传文件外不能传递其他参数的bug。

    ajaxfileupload

    综上所述,`ajaxFileUpload`是jQuery提供的一种实现异步文件上传的便捷工具,通过合理的配置和使用,可以极大地优化用户的文件上传体验。在实际应用中,根据项目需求灵活调整参数和处理逻辑,确保文件上传功能既安全...

    使用ajaxFileUpload实现图片上传

    `ajaxFileUpload`是一个JavaScript插件,它允许开发者利用Ajax技术实现异步文件上传,特别是图片上传,无需刷新整个页面。这种方法提高了用户体验,因为它可以在后台处理上传过程,保持页面的实时性和流畅性。 `...

    ajaxFileupload实现多文件上传功能

    这样,当调用`$.ajaxFileUpload`时,它会找到所有`name`属性匹配的文件输入元素,实现多组多文件上传。 ### 总结 通过以上的改造,我们成功地让AjaxFileupload支持了多文件上传,即使文件输入元素是动态生成的,也...

    ajaxfileupload实现文件上传_aspnet.zip

    这个方法通常会接收HttpPostedFileBase类型的参数,这是ASP.NET MVC用来处理文件上传的类。 ```csharp [HttpPost] public ActionResult Upload(HttpPostedFileBase file) { if (file != null && file.Content...

    文件上传ajaxFileUpload java工程demo

    例如,当用户选择文件后,调用ajaxFileUpload方法,指定服务器端处理文件的URL和一些配置参数,如进度条显示、错误处理等。 在Java后端,我们需要一个接收并处理文件上传的Controller。Spring MVC框架是一个常见的...

    解决使用ajaxFileUpload上传控件出现的问题:回调函数总是进入error或success

    `ajaxFileUpload`是一个JavaScript插件,它允许用户在不刷新页面的情况下实现异步文件上传,提供了更友好的用户体验。然而,在实际应用中,开发者可能会遇到一些问题,如回调函数总是进入error或success状态,这通常...

    ajaxfileupload上传文件

    `AjaxFileUpload` 是一个基于 jQuery 的插件,它允许用户在不刷新整个页面的情况下实现异步(即AJAX)文件上传,提高了用户体验。下面将详细介绍 `AjaxFileUpload` 插件的使用方法以及与之相关的 `jQuery` 和 HTML ...

    ajaxFileUpload 无刷新无Form上传

    使用ajaxFileUpload,开发者只需配置一些参数,如URL、数据、回调函数等,就可以实现无刷新的文件上传。 4. **服务器端处理**:在接收到Ajax上传的文件后,服务器端需要解析接收到的数据并保存文件。这可能涉及到...

    ajaxFileUpload

    **AjaxFileUpload** 是一个JavaScript库,主要用于实现无刷新的文件上传功能,尤其适用于上传图片。这个库在前端处理上提供了高效且用户友好的体验,因为它允许用户在不重新加载整个网页的情况下完成文件上传操作。...

    AjaxFileUpload.js

    《AjaxFileUpload.js:深入解析前端文件上传技术》 在Web开发中,用户与服务器之间的交互体验至关重要。AjaxFileUpload.js是一个专为实现异步文件上传功能而设计的JavaScript库,它利用Ajax技术实现了无刷新的文件...

Global site tag (gtag.js) - Google Analytics