解决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# TextReader.ReadLine – 读取一行字符

    C# 中 TextReader.ReadLine 方法的作用是从当前文本读取器中读取一行字符数据,并返回一个字符串,该字符串包含该行数据的所有字符,但不包括换行符。该方法会一直读取字符,直到遇到一个换行符或者文件末尾。 TextReader.ReadLine 方法的使用方法如下: using System; using System.IO; class Pr…

    C# 2023年4月19日
    00
  • 在ASP.NET Core中应用HttpClient获取数据和内容

    在ASP.NET Core中,HttpClient是一种用于发送HTTP请求和接收HTTP响应的类。本攻略将深入探讨如何使用HttpClient获取数据和内容,并提供两个示例说明。 使用HttpClient获取数据 使用HttpClient获取数据的步骤如下: 1. 创建HttpClient实例 我们需要创建一个HttpClient实例来发送HTTP请求。以…

    C# 2023年5月17日
    00
  • C#中实现任意List的全组合算法代码

    以下是详细的攻略步骤: 1. 确定算法 全组合算法可以用以下方式递归实现: 对于List的每个元素,有两种情况:选择与不选择 当选择了一个元素时,接下来需要从剩下的元素中选择 当不选择一个元素时,同样需要从剩下的元素中选择 递归执行以上步骤,直到剩下的元素集合为空,即为一种排列结果 这样,我们可以写出以下的伪代码。 // 全组合算法 public stati…

    C# 2023年6月1日
    00
  • ASP.NET Core扩展库ServiceStack.Redis用法介绍

    ASP.NET Core扩展库ServiceStack.Redis用法介绍 ServiceStack.Redis是一个高性能的.NET Redis客户端,它提供了一组易于使用的API,用于与Redis数据库进行交互。在本攻略中,我们将详细讲解ASP.NET Core扩展库ServiceStack.Redis的用法,并提供两个示例说明。 步骤一:安装Servi…

    C# 2023年5月17日
    00
  • .NET使用DinkToPdf将HTML转成PDF的示例代码

    让我来给您详细讲解下“.NET使用DinkToPdf将HTML转成PDF的示例代码”的攻略吧。 什么是DinkToPdf DinkToPdf是一个开源的跨平台库,可以将HTML转换为PDF文档。它使用WKHtmlToPdf底层转换引擎,支持Windows,Linux和MacOS。 安装DinkToPdf 要使用DinkToPdf,您需要将它作为NuGet包添…

    C# 2023年6月3日
    00
  • 使用HttpClient增删改查ASP.NET Web API服务

    以下是“使用HttpClient增删改查ASP.NET WebAPI服务”的完整攻略: 什么是HttpClient HttpClient是.NET Framework中的一个类,它提供一组用于发送请求和接收HTTP的方法。我们可以使用它来消费Web API服务。 使用HttpClient增删改查.NET WebAPI服务 以下是使用HttpClient增删改…

    C# 2023年5月12日
    00
  • c# 防火墙添加/删除 特定端口的示例

    下面是针对“c#防火墙添加/删除特定端口的示例”的完整攻略: 1. 了解Windows Firewall API 要使用C#实现防火墙管理,需要用到Windows Firewall API。Windows Firewall API是一组允许开发人员使用来自防火墙策略接口 (WFPSampler) 的函数和结构的编程元素。 首先,我们需要将NETSH ADVF…

    C# 2023年5月15日
    00
  • C# 6.0 内插字符串(Interpolated Strings )的使用方法

    当我们需要将表达式嵌入到字符串中时,常规做法是使用字符串拼接。C# 6.0 为我们提供了内插字符串(Interpolated Strings)功能,使得我们可以更方便地将表达式嵌入到字符串中。本文将详细介绍内插字符串的使用方法。 什么是内插字符串? 在 C# 6.0 中,内插字符串是一种新的字符串语法,它允许将变量值或表达式嵌入到字符串中。内插字符串使用 $…

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