您现在的位置是:首页» 软件教程» ajaxupload,ajax file

ajaxupload,ajax file

2024-04-12 03:26:12
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家! 1、不太苟同楼上的做法,这种不光耗费服务器资源,也耗费数据库的资源。如果是类似腾讯这种人气的网站。就知道问题了。2、说下我在实际中的做法吧。当然我的客户人气没有那么高。每年顶多几万人。

今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!

1、不太苟同楼上的做法,这种不光耗费服务器资源,也耗费数据库的资源。如果是类似腾讯这种人气的网站。就知道问题了。

2、说下我在实际中的做法吧。当然我的客户人气没有那么高。每年顶多几万人。

3、比如有个图像上传预览。也是要及时预览并上传到服务器端。我用的是uploady上传插件。

4、第一张图片上传后以用户名命名.JPG保存。第二次上传就判断当前用户的photo【这是上传图片保存在数据库中】是否存在,如果存在就以用户名#TEMP#.JPG【如果当前用户的photo已是#TEMP#.JPG结尾则以用户名.JPG】保存。如果不存在就依然以用户名.JPG保存。如此互斥。这样只要你不覆盖用户点击保存前你的那张图片,数据库也不会有变动。预览的图片也就永远只有一张。如果你要清理这1万张预览图那也是相当容易的【比如你可以将预览图放在一个临时文件夹中,做个定时任务,一个星期清理一次也差不多了,顶多也就上万张,平时估计几百张就不错了,而实际用户的图片也是以年份/省市/等单独存放,避免一个文件夹过大】。本人项目中的用法,如有问题,请赐教。

ajaxfileupload实现异步上传的完整例子:

$("#loading").ajaxStart(function(){

})//开始上传文件时显示一个图片

});//文件上传完成将图片隐藏起来

url:'AjaxImageUploadAction.action',//用于文件上传的服务器端请求地址

secureuri:false,//一般设置为false

fileElementId:'imgfile',//文件上传空间的id属性<input type="file" id="imgfile" name="file"/>

dataType:'json',//返回值类型一般设置为json

success: function(data, status)//服务器成功响应处理函数

alert(data.message);//从服务器返回的json中取出message中的数据,其中message为在struts2中定义的成员变量

if(typeof(data.error)!='undefined')

error: function(data, status, e)//服务器响应失败处理函数

struts.xml配置文件中的配置方法:

<package name="struts2" extends="json-default">

<action name="AjaxImageUploadAction" class="com.test.action.ImageUploadAction">

<result type="json" name="success">

<param name="contentType">text/html</param>

<result type="json" name="error">

<param name="contentType">text/html</param>

上传处理的Action ImageUploadAction.action

import java.io.FileInputStream;

import java.io.FileOutputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class ImageUploadAction extends ActionSupport{

private String imgfileFileName;

private String imgfileFileContentType;

private String message="你已成功上传文件";

public void setImgfile(File imgfile){

public String getImgfileFileName(){

public void setImgfileFileName(String imgfileFileName){

this.imgfileFileName= imgfileFileName;

public String getImgfileFileContentType(){

return imgfileFileContentType;

public void setImgfileFileContentType(String imgfileFileContentType){

this.imgfileFileContentType= imgfileFileContentType;

public void setMessage(String message){

@SuppressWarnings("deprecation")

public String execute() throws Exception{

String path= ServletActionContext.getRequest().getRealPath("/upload/mri_img_upload");

String[] imgTypes= new String[]{"gif","jpg","jpeg","png","bmp"};

String fileExt= this.getImgfileFileName().substring(this.getImgfileFileName().lastIndexOf(".")+ 1).toLowerCase();

if(this.getImgfileFileName().endsWith(".exe")){

message="上传的文件格式不允许!!!";

if(!Arrays.<String> asList(imgTypes).contains(fileExt)){

message="只能上传 gif,jpg,jpeg,png,bmp等格式的文件!";

FileInputStream inputStream= new FileInputStream(f);

FileOutputStream outputStream= new FileOutputStream(path+"/"+ this.getImgfileFileName());

while((length= inputStream.read(buf))!=-1){

outputStream.write(buf, 0, length);

message="文件上传失败了!!!!";

wwW.Xtw.Com.cN系统网专业的PC、手机系统开发下载平台,HarmonyOS系统、安卓、OS、windows电脑重装系统在线下载安装,操作系统平台技术学习,攻略教程,技术交流。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com

标签: 异步 插件 上传