作者:zccst
yii常规post方式提交表单方式请参考:
除了常规post提交方式外,还有异步提交方式。
原理是使用iframe代替原来的页面跳转,大大提升用户体验。
一、上传文件
1,前端html代码
<form id="upForm" action="<?php echo $this->createUrl('repairUpload'); ?>" method="post" enctype ="multipart/form-data" target="upload_target">
<input type="file" name="repair_attached_file" id="repair_attached_file" /><input type="subm it" name="submitBtn" value="立即上传" />
<iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>
</form>
<span id="upload_repairinfo_success" style="color:blue;"></span>
<script type="text/javascript">
function startUpload() {
var spanObj = document.getElementById("upload_repairinfo_success");
spanObj.innerHTML = " 开始上传";
document.getElementById("upForm").sumbit();
}
function stopUpload(responseText){
var spanObj = document.getElementById("upload_repairinfo_success");
//spanObj.innerHTML = "上传成功";
spanObj.innerHTML = responseText;
}
</script>
2、后端php代码
public function actionRepairUpload(){
$attach = CUploadedFile::getInstanceByName('repair_attached_file');
$retValue = "";
if($attach->size > 3*1024*1024){
$retValue = "提示:文件大小不能超过3M";
}else{
$f = file_get_contents($attach->tempName);
$a = new Attachment();
$a->ref_type = "failParts";
$a->data = $f;
$a->file_path = $attach->name;
$a->save();
$retValue = $a->id;
}
echo "<script type='text/javascript'>window.top.window.stopUpload('{$retValue}')</script>";
}
分享到:
相关推荐
标题提到的"Yii 2文件下载"可能指的是Yii 2.0框架的安装包或者相关的扩展或示例代码。 在描述中,我们看到“找了好久才找到的Yii2.0”,这可能暗示了Yii 2.0的相关资源并不总是容易找到,尤其对于初学者来说,可能...
ShopWind开源商城免费可商用,采用Yii2框架、vue3/vite、Element Plus UI实现前后端分离,移动端使用UNIAPP框架。系统包含微信小程序端、H5端、公众号商城、PC、APP客户端(Android、iOS),支持分销、拼团、社团...
ShopWind开源商城免费可商用,采用Yii2框架、vue3/vite、Element Plus UI实现前后端分离,移动端使用UNIAPP框架。系统包含微信小程序端、H5端、公众号商城、PC、APP客户端(Android、iOS),支持分销、拼团、社团...
ShopWind开源商城免费可商用,采用Yii2框架、vue3/vite、Element Plus UI实现前后端分离,移动端使用UNIAPP框架。系统包含微信小程序端、H5端、公众号商城、PC、APP客户端(Android、iOS),支持分销、拼团、社团...
ShopWind开源商城免费可商用,采用Yii2框架、vue3/vite、Element Plus UI实现前后端分离,移动端使用UNIAPP框架。系统包含微信小程序端、H5端、公众号商城、PC、APP客户端(Android、iOS),支持分销、拼团、社团...
然而,对于需要即时响应或者非阻塞操作的任务,如注册邮件发送、短信通知等,我们可以利用Swoole扩展来实现异步处理,从而提高系统效率。 Swoole是一个高性能的PHP扩展,它提供了底层的异步多线程服务器,支持TCP、...
本文实例讲述了Yii2框架实现利用mpdf创建pdf文件功能。分享给大家供大家参考,具体如下: 安装mPDF 使用 Composer安装 在yii2的 ‘composer.json’ 加入”mpdf/mpdf”:”*” require: { php: >=5.4.0, yiisoft/...
1. **MVC 架构**:Yii 实现了 MVC 设计模式,分离了业务逻辑、数据和用户界面。模型(Model)处理数据和业务逻辑,视图(View)负责展示,控制器(Controller)协调模型和视图,使得代码结构清晰,易于维护。 2. **...
yii2-upload-behavior, ActiveRecord的Yii2文件/图像上传行为 Yii2文件/图像上传行为这个包是两种类似行为的集合。 第一个允许你将上传的文件保留为。 第二个允许你为上传的图片生成缩略图。 可以为不同的属性多次...
### YII 2数据库迁移(Migrations) 使用教程 #### 一、数据库迁移概念与作用 在软件开发过程中,随着项目的推进和技术需求的变化,数据库结构往往也需要进行调整或更新。为了更好地管理和跟踪这些变更,YII 2框架...
10. **扩展性**:Yii2 Basic框架允许轻松安装和使用第三方扩展,如Gii(代码生成工具)、Debug Toolbar(调试工具栏)等,丰富了框架的功能。 在开发过程中,熟悉并掌握这些知识点,可以极大地提高开发效率,同时...
### Yii2框架详解:从入门到精通 #### 一、简介 Yii2是一款高效、安全且功能丰富的PHP Web开发框架,适用于开发大型Web应用程序。它提供了高性能的解决方案,旨在简化开发人员的工作流程,并帮助他们快速构建高质量...
### Yii博客教程知识点详解 #### 一、简介与目标 - **标题**:“Yii博客教程” - **描述**:本书是一本旨在引导初学者至进阶者的Yii教程,通过构建一个简单的博客系统来全面展现Yii框架的优势与特性。无论您是否...
在Yii中,可以使用其内置的认证和授权组件来轻松实现这一功能。`User`组件负责处理用户认证,而`rbac`(Role-Based Access Control)则用于权限管理。通过创建模型、视图和控制器,你可以构建出完整的注册和登录界面...
### yii的小部件使用 在Yii框架中,小部件(Widgets)是用于封装并重用页面元素的一种机制。本文主要探讨如何在Yii框架中利用小部件(Widgets)来提高开发效率,尤其是在快速生成增删改查功能时的具体应用,并结合...
使用说明: use common\components\qrcode\QRcode; $res = QRcode::png('http://www.baidu.com'); var_dump($res); 参数说明: 第1个参数$text:二维码包含的内容,可以是链接、文字、json字符串等等; 第2个参数$...
yii2-oauth2-rest-template, 带有OAuth2服务器的Yii2 REST API 模板 在 Yii2上,使用OAuth2服务器的 REST API 应用程序。这是一个 Yii2 Rest应用程序模板,配置了OAuth2服务器( 使用 ...