解决jQuery uploadify在非IE核心浏览器下无法上传

解决 jQuery uploadify 在非 IE 核心浏览器下无法上传,可以通过以下步骤实现:

1. 原因

非 IE 核心浏览器(如 Chrome、Firefox 等)不允许跨域上传文件,而 uploadify 默认使用了 flash 进行文件上传,flash 模式下不能跨域上传,导致文件上传失败。

2. 解决方案

可以通过以下两种方式来解决这个问题:

2.1 使用 HTML5 方式上传

HTML5 支持在同域名下跨文件上传,因此可以使用 HTML5 方式替代 flash 方式来上传文件。可以通过设置 uploadify 的 uploader 属性来实现。

示例代码:

$('#file').uploadify({
  'swf': 'uploadify.swf',
  'uploader': '/upload', // 修改这里为上传接口地址
  'fileTypeExts': '*.jpg;*.png',
  'fileSizeLimit': '2MB',
  'multi': true,
  'onUploadSuccess': function(file, data, response) {
    console.log('上传成功');
  },
  'onUploadError': function(file, errorCode, errorMsg, errorString) {
    console.log('上传失败,错误码:' + errorCode + ',错误信息:' + errorMsg);
  },
});

2.2 设置 crossdomain.xml 文件

将 crossdomain.xml 文件放到上传文件的服务器根目录下,内容如下:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>

示例代码:

$('#file').uploadify({
  'swf': 'uploadify.swf',
  'uploader': '/upload', // 修改这里为上传接口地址
  'fileTypeExts': '*.jpg;*.png',
  'fileSizeLimit': '2MB',
  'multi': true,
  'formData': { 'timestamp': '', 'token': '' },
  'onUploadSuccess': function(file, data, response) {
    console.log('上传成功');
  },
  'onUploadError': function(file, errorCode, errorMsg, errorString) {
    console.log('上传失败,错误码:' + errorCode + ',错误信息:' + errorMsg);
  },
});

总结

在非 IE 核心浏览器下,uploadify 无法跨域上传文件,可以通过使用 HTML5 方式上传文件或设置 crossdomain.xml 文件来解决这个问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决jQuery uploadify在非IE核心浏览器下无法上传 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C#中static的详细用法实例

    下面是关于C#中static的详细用法实例的攻略。 一、static的概念 在C#中,static是一个关键字,用在定义类或方法时,表示这个类或方法是静态的。静态成员或方法可以被类的所有实例或对象共享,不会被实例化的对象占用内存空间。 二、static的实例 1. static成员 class MyClass { public static int Coun…

    C# 2023年5月31日
    00
  • C#实现炫酷启动图-动态进度条效果

    下面就讲解一下“C#实现炫酷启动图-动态进度条效果”的完整攻略。 1. 动态进度条效果是什么? 动态进度条是指在程序启动的时候,会出现一个进度条,进度条随着程序的启动过程不断变化,最终到达100%的效果。这种效果可以让启动过程更具有视觉和动态感,能够吸引用户的注意力,让用户感觉程序更加高效。 2. C#实现动态进度条效果步骤 下面我来详细讲解一下如何在C#中…

    C# 2023年6月6日
    00
  • C#实现组合排列的方法

    我们知道,组合和排列是组合数学中的两个基本概念。这两个概念经常会在编程中用到,因此在C#中实现它们是非常必要的。 什么是组合? 组合是从n个元素中取出m个元素(m<=n),不考虑元素的顺序,这样的m元组的个数叫做从n个不同元素中取出m个元素的组合数。 组合数的计算公式为C(n,m) = n!/(m! * (n-m)!)。 什么是排列? 排列是从n个元素…

    C# 2023年6月6日
    00
  • asp.net中简体转繁体实现代码

    ASP.NET是微软推出的一种Web应用程序框架,支持多种编程语言和开发模式。其中,实现简体转繁体的方法有很多种,比如使用第三方开源库、使用.NET Framework自带的类库等。下面我将详细讲解一种较为简单的实现方法。 准备工作 在使用ASP.NET进行开发时,我们需要准备以下几项工作: 确认使用的开发环境,如Visual Studio等; 安装相应的.…

    C# 2023年5月31日
    00
  • ASP.NET Core使用EF创建模型(包含属性、排除属性、主键和生成值)

    ASP.NET Core 使用 EF 创建模型是一种常见的操作,可以用于定义应用程序中的数据模型。以下是 ASP.NET Core 使用 EF 创建模型的完整攻略: 步骤一:安装 Entity Framework Core 首先,需要安装 Entity Framework Core。可以使用以下命令在 Visual Studio 中安装 Entity Fra…

    C# 2023年5月17日
    00
  • .Net整合Json实现REST服务客户端的方法详解

    .Net整合Json实现REST服务客户端 什么是REST服务? REST(Representational State Transfer)是目前最流行的一种网络应用程序的设计风格和开发方式,是一种轻量级的Web服务解决方案。它采用REST架构,通过HTTP协议实现,既可以返回XML或JSON格式的数据。 相较于SOAP,REST服务具有轻量级、易于缓存、可…

    C# 2023年5月31日
    00
  • ASP.NET Core中的Caching组件简介

    ASP.NET Core中的Caching组件简介 ASP.NET Core中的Caching组件是一种用于缓存数据的机制。它允许我们将数据缓存在内存、分布式缓存或其他缓存存储中,以提高应用程序的性能和响应速度。本攻略将详细介绍ASP.NET Core中的Caching组件的概念、用法和示例。 什么是Caching组件? Caching组件是一种用于缓存数据…

    C# 2023年5月16日
    00
  • unityZXing二维码的生成与扫描

    一、UnityZXing简介 UnityZXing是一个为Unity3D提供二维码扫描识别和生成的插件。它使用Google ZXing库实现了对二维码的快速识别和生成,可以在Unity项目中轻松地添加二维码功能。 二、UnityZXing的安装 打开Unity工程,在Assets菜单中选择“Import Package” -> “Custom Pack…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部