点击修改头像,会出现选项
apicloud HTML代码
apicloud js代码
后端处理
1、java服务器(ssh框架)
2、接收图片,把图片放在服务器的一个盘的文件里面,因为如果存储在数据库里面,很占内存
3、数据库里面就放一些图片的地址
package cn.com.service;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.opensymphony.xwork2.ModelDriven;
import cn.com.bean.User;
import cn.com.tools.RandomStr;
@Repository(value = "copyImage")
@Scope("prototype")
public class CopyImage implements ModelDriven{
@Autowired
private SessionFactory sf;
@Autowired
private User user;
@Override
public User getModel() {
// TODO Auto-generated method stub
return user;
}
private File file;
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
@Transactional
public String GenerateImage(){
//upload_aa00f2d2_bb13_4737_8033_f1394d1b0911_00000000.tmp
System.out.println("文件名:"+file.getName());
//把文件写到里面
String fn=RandomStr.getRandomString(10);
//存储图片的地址
fn="D:/myapp/"+fn+".jpg";
File fl=new File(fn);
FileOutputStream fout=null;
InputStream in=null;
try {
fout=new FileOutputStream(fl);
in=new FileInputStream(file);
byte [] by=new byte[1024];
int length=0;
try {
while((length=in.read(by))>-1){
fout.write(by, 0, length);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
in.close();
fout.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//图片放在服务器的一个盘里面,因为如果是把图片以流的形式存储在数据库里面,就太占内存了
Session session=sf.getCurrentSession();
String names=user.getUsername();
System.out.println("user:"+names);
String sql="update User set userlogo=? where username=?";
Query query=session.createQuery(sql);
query.setString(0, fn);
query.setString(1, names);
int rr=query.executeUpdate();
String toast="";
if(rr>1){
toast="succcess";
}else{
toast="fail";
}
//图片放在服务器的一个盘里面,因为如果是把图片以流的形式存储在数据库里面,就太占内存了
return null;
}
}