ajaxupload,ajax file
今天小编为大家分享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