2019-11-18更新

This commit is contained in:
Hellohao
2019-11-19 20:06:22 +08:00
parent 2599f52e25
commit feae41e8fd
12 changed files with 386 additions and 205 deletions
@@ -9,6 +9,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@@ -56,7 +56,9 @@ public class ClientController {
@PostMapping(value = "/clientupimg")
@ResponseBody
public ResultBean clientupimg(@RequestParam("file") List<MultipartFile> file, String email, String pass) throws Exception {
public ResultBean clientupimg(HttpServletRequest request,@RequestParam("file") List<MultipartFile> file, String email, String pass) throws Exception {
String userip = GetIPS.getIpAddr(request);
Print.Normal("上传者ip:"+userip);
ResultBean resultBean = null;
JSONArray jsonArray = new JSONArray();
UploadConfig uploadConfig = uploadConfigService.getUpdateConfig();
@@ -165,12 +167,7 @@ public class ClientController {
}
img.setSizes((entry.getValue()));
img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
//img.setAbnormal(Sentence.getIPs());
//多线程插入ip值
GetIPS getIPS = new GetIPS();
getIPS.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
Thread thread = new Thread(getIPS);
thread.start();
img.setAbnormal(userip);
img.setImgtype(0);
//-1证明超出大小,
if (entry.getValue() != -1) {
@@ -205,12 +202,7 @@ public class ClientController {
}
img.setSizes((entry.getValue())/1024);
img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
//img.setAbnormal(Sentence.getIPs());
//多线程插入ip值
GetIPS getIPS = new GetIPS();
getIPS.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
Thread thread = new Thread(getIPS);
thread.start();
img.setAbnormal(userip);
img.setImgtype(0);
//-1证明超出大小,
if (entry.getValue() != -1) {
@@ -237,6 +229,8 @@ public class ClientController {
@ResponseBody
public ResultBean clientupurlimg( String imgurl, HttpServletRequest request, Integer setday,
String email,String pass) throws Exception {
String userip = GetIPS.getIpAddr(request);
Print.Normal("上传者ip:"+userip);
ResultBean resultBean = null;
UploadConfig uploadConfig = uploadConfigService.getUpdateConfig();
if (uploadConfig.getApi() == 1) {
@@ -359,12 +353,7 @@ public class ClientController {
}
img.setSizes((entry.getValue()));
img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
//img.setAbnormal(Sentence.getIPs());
//多线程插入ip值
GetIPS getIPS = new GetIPS();
getIPS.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
Thread thread = new Thread(getIPS);
thread.start();
img.setAbnormal(userip);
img.setImgtype(0);
userService.insertimg(img);
long etime = System.currentTimeMillis();
@@ -450,12 +439,7 @@ public class ClientController {
}
img.setSizes((entry.getValue()));
img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
//img.setAbnormal(Sentence.getIPs());
//多线程插入ip值
GetIPS getIPS = new GetIPS();
getIPS.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
Thread thread = new Thread(getIPS);
thread.start();
img.setAbnormal(userip);
img.setImgtype(0);
userService.insertimg(img);
long etime = System.currentTimeMillis();
@@ -51,10 +51,10 @@ public class UpdateImgController {
@Autowired
private ImgService imgService;
private Integer updatekey;
//private Integer updatekey;
@RequestMapping({"/", "/index"})
public String indexImg(Model model, HttpSession httpSession) {
public String indexImg(Model model, HttpSession httpSession,HttpServletRequest request) {
//boolean b = VerificationDomain.verification();
boolean b = true;
if(b){
@@ -106,16 +106,18 @@ public class UpdateImgController {
return "index";
}
Random random = new Random();
updatekey = random.nextInt(10000);
model.addAttribute("updatekey", updatekey);
//updatekey = random.nextInt(10000);
//model.addAttribute("updatekey", updatekey);
return "index";
}
@RequestMapping(value = "/upimg")
@ResponseBody
public String upimg( HttpSession session
public String upimg( HttpSession session,HttpServletRequest request
, @RequestParam(value = "file", required = false) MultipartFile multipartFile,Integer setday,String upurlk) throws Exception {
String userip = GetIPS.getIpAddr(request);
Print.Normal("上传者ip:"+userip);
java.text.DateFormat dateFormat = new java.text.SimpleDateFormat("yyyy/MM/dd");
JSONArray jsonArray = new JSONArray();
JSONObject jsonObject = new JSONObject();
@@ -129,7 +131,7 @@ public class UpdateImgController {
String userpath = "tourist";
Boolean b =false;
if(Integer.parseInt(Base64Encryption.decryptBASE64(upurlk))!=updatekey){
if(Integer.parseInt(Base64Encryption.decryptBASE64(upurlk))!=yzupdate()){
jsonObject.put("imgurls",403);//非法调用
return jsonObject.toString();
}
@@ -208,14 +210,10 @@ public class UpdateImgController {
img.setSizes((entry.getValue()) / 1024);
img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
img.setImgtype(setday>0?1:0);
img.setAbnormal(userip);
userService.insertimg(img);
long etime = System.currentTimeMillis();
Print.Normal("上传图片所用时长:" + String.valueOf(etime - stime) + "ms");
//多线程插入ip值
GetIPS getIPS = new GetIPS();
getIPS.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
Thread thread = new Thread(getIPS);
thread.start();
}
return jsonObject.toString();
}
@@ -249,7 +247,7 @@ public class UpdateImgController {
}
JSONArray jsonArray = new JSONArray();
//判断非法调用
if(Integer.parseInt(Base64Encryption.decryptBASE64(upurlk))!=updatekey){
if(Integer.parseInt(Base64Encryption.decryptBASE64(upurlk))!=yzupdate()){
jsonArray.add(-403);//非法调用
return jsonArray.toString();
}
@@ -266,141 +264,134 @@ public class UpdateImgController {
}
//先判断对象存储key是不是null
Print.warning("上传地址是:"+request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/");
if(usermemory/1024>=memory) {
jsonArray.add(-5);
return jsonArray.toString();
}
long stime = System.currentTimeMillis();
//判断是会员还是游客
if(u!=null){
//判断文件大小
if(imgsize>0 && imgsize>=(yonghu*1024*1024)) {
//文件过大
jsonArray.add(-2);
String userip = GetIPS.getIpAddr(request);
Print.Normal("上传者ip:"+userip);
if(usermemory/1024>=memory) {
jsonArray.add(-5);
return jsonArray.toString();
}
long stime = System.currentTimeMillis();
//判断是会员还是游客
if(u!=null){
//判断文件大小
if(imgsize>0 && imgsize>=(yonghu*1024*1024)) {
//文件过大
jsonArray.add(-2);
return jsonArray.toString();
}
try{
boolean bl =ImgUrlUtil.downLoadFromUrl(imgurl,
uuid, request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/");
if(bl==true){
FileInputStream is = new FileInputStream(request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/"+uuid);
byte[] b = new byte[3];
is.read(b, 0, b.length);
String xxx = ImgUrlUtil.bytesToHexString(b);
xxx = xxx.toUpperCase();
if(is!=null){is.close();}
//判断文件头是否是图片
if(TypeDict.checkType(xxx).equals("0000")) {
jsonArray.add(-3);//不是图片格式
return jsonArray.toString();
}
try{
boolean bl =ImgUrlUtil.downLoadFromUrl(imgurl,
uuid, request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/");
if(bl==true){
FileInputStream is = new FileInputStream(request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/"+uuid);
byte[] b = new byte[3];
is.read(b, 0, b.length);
String xxx = ImgUrlUtil.bytesToHexString(b);
xxx = xxx.toUpperCase();
if(is!=null){is.close();}
//判断文件头是否是图片
if(TypeDict.checkType(xxx).equals("0000")) {
jsonArray.add(-3);//不是图片格式
return jsonArray.toString();
}
Map<String, String> map = new HashMap<>();
map.put(TypeDict.checkType(xxx), request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/"+uuid);
Map<ReturnImage, Integer> m = null;
m = GetSource.storageSource(key.getStorageType(), null, userpath,map,setday);
Images img = new Images();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
String times = df.format(new Date());
System.out.println("上传图片的时间是:"+times);
for (Map.Entry<ReturnImage, Integer> entry : m.entrySet()) {
if(key.getStorageType()==5){
if(config.getDomain()!=null){
jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl());
img.setImgurl(config.getDomain()+"/links/"+entry.getKey().getImgurl());//图片链接
}else{
jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl());
img.setImgurl("http://"+IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey().getImgurl());//图片链接
}
}else{
jsonArray.add(entry.getKey().getImgurl());
img.setImgurl(entry.getKey().getImgurl());
}
img.setUpdatetime(times);
img.setSource(key.getStorageType());
img.setUserid(u == null?0:u.getId());
img.setSizes((entry.getValue()));
img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
//img.setAbnormal(Sentence.getIPs());
//多线程插入ip值
GetIPS getIPS = new GetIPS();
getIPS.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
Thread thread = new Thread(getIPS);
thread.start();
if(setday>0){img.setImgtype(1);}
else{img.setImgtype(0);}
userService.insertimg(img);
long etime = System.currentTimeMillis();
System.out.println("上传图片所用时长:" + String.valueOf(etime - stime) + "ms");
Map<String, String> map = new HashMap<>();
map.put(TypeDict.checkType(xxx), request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/"+uuid);
Map<ReturnImage, Integer> m = null;
m = GetSource.storageSource(key.getStorageType(), null, userpath,map,setday);
Images img = new Images();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
String times = df.format(new Date());
System.out.println("上传图片的时间是:"+times);
for (Map.Entry<ReturnImage, Integer> entry : m.entrySet()) {
if(key.getStorageType()==5){
if(config.getDomain()!=null){
jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl());
img.setImgurl(config.getDomain()+"/links/"+entry.getKey().getImgurl());//图片链接
}else{
jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl());
img.setImgurl("http://"+IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey().getImgurl());//图片链接
}
}else{
jsonArray.add(entry.getKey().getImgurl());
img.setImgurl(entry.getKey().getImgurl());
}
}catch (Exception e) {
Print.warning(e.toString());
jsonArray.add(-4);
img.setUpdatetime(times);
img.setSource(key.getStorageType());
img.setUserid(u == null?0:u.getId());
img.setSizes((entry.getValue()));
img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
img.setAbnormal(userip);
if(setday>0){img.setImgtype(1);}
else{img.setImgtype(0);}
userService.insertimg(img);
long etime = System.currentTimeMillis();
System.out.println("上传图片所用时长:" + String.valueOf(etime - stime) + "ms");
}
}else{
if(imgsize>0 && imgsize>=(youke*1024*1024)){
//文件过大
jsonArray.add(-2);
}
}catch (Exception e) {
Print.warning(e.toString());
jsonArray.add(-4);
}
}else{
if(imgsize>0 && imgsize>=(youke*1024*1024)){
//文件过大
jsonArray.add(-2);
return jsonArray.toString();
}
try{
boolean bl = ImgUrlUtil.downLoadFromUrl(imgurl,
uuid, request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/");
if(bl==true){
FileInputStream is = new FileInputStream(request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/"+uuid);
byte[] b = new byte[3];
is.read(b, 0, b.length);
String xxx = ImgUrlUtil.bytesToHexString(b);
xxx = xxx.toUpperCase();
if(is!=null){is.close(); }
//判断文件头是否是图片
if(xxx.equals("0000")) {
jsonArray.add(-3);
return jsonArray.toString();
}
try{
boolean bl = ImgUrlUtil.downLoadFromUrl(imgurl,
uuid, request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/");
if(bl==true){
FileInputStream is = new FileInputStream(request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/"+uuid);
byte[] b = new byte[3];
is.read(b, 0, b.length);
String xxx = ImgUrlUtil.bytesToHexString(b);
xxx = xxx.toUpperCase();
if(is!=null){is.close(); }
//判断文件头是否是图片
if(xxx.equals("0000")) {
jsonArray.add(-3);
return jsonArray.toString();
}
Map<String, String> map = new HashMap<>();
map.put(TypeDict.checkType(xxx), request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/"+uuid);
Map<String, String> map = new HashMap<>();
map.put(TypeDict.checkType(xxx), request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/"+uuid);
Map<ReturnImage, Integer> m = null;
m = GetSource.storageSource(key.getStorageType(), null, userpath,map,setday);
Images img = new Images();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
String times = df.format(new Date());
System.out.println("上传图片的时间是:"+times);
for (Map.Entry<ReturnImage, Integer> entry : m.entrySet()) {
if(key.getStorageType()==5){
if(config.getDomain()!=null){
jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl());
img.setImgurl(config.getDomain()+"/links/"+entry.getKey().getImgurl());//图片链接
}else{
jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl());
img.setImgurl("http://"+IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey().getImgurl());//图片链接
}
}else{
jsonArray.add(entry.getKey().getImgurl());
img.setImgurl(entry.getKey().getImgurl());//图片链接
}
img.setUpdatetime(times);
img.setSource(key.getStorageType());
img.setUserid(u == null?0:u.getId());
img.setSizes((entry.getValue()));
img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
img.setImgtype(setday>0?1:0);
userService.insertimg(img);
long etime = System.currentTimeMillis();
System.out.println("上传图片所用时长:" + String.valueOf(etime - stime) + "ms");
//多线程插入ip值
GetIPS getIPS = new GetIPS();
getIPS.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
Thread thread = new Thread(getIPS);
thread.start();
Map<ReturnImage, Integer> m = null;
m = GetSource.storageSource(key.getStorageType(), null, userpath,map,setday);
Images img = new Images();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
String times = df.format(new Date());
System.out.println("上传图片的时间是:"+times);
for (Map.Entry<ReturnImage, Integer> entry : m.entrySet()) {
if(key.getStorageType()==5){
if(config.getDomain()!=null){
jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl());
img.setImgurl(config.getDomain()+"/links/"+entry.getKey().getImgurl());//图片链接
}else{
jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl());
img.setImgurl("http://"+IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey().getImgurl());//图片链接
}
}else{
jsonArray.add(entry.getKey().getImgurl());
img.setImgurl(entry.getKey().getImgurl());//图片链接
}
}catch (Exception e) {
Print.warning(e.toString());
jsonArray.add(-4);
img.setUpdatetime(times);
img.setSource(key.getStorageType());
img.setUserid(u == null?0:u.getId());
img.setSizes((entry.getValue()));
img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", ""));
img.setImgtype(setday>0?1:0);
img.setAbnormal(userip);
userService.insertimg(img);
long etime = System.currentTimeMillis();
System.out.println("上传图片所用时长:" + String.valueOf(etime - stime) + "ms");
}
}
}catch (Exception e) {
Print.warning(e.toString());
jsonArray.add(-4);
}
}
return jsonArray.toString();
/**
@@ -438,6 +429,15 @@ public class UpdateImgController {
}
return jsonObject.toString();
}
private Integer yzupdate(){
Calendar cal = Calendar.getInstance();
int y=cal.get(Calendar.YEAR);
int m=cal.get(Calendar.MONTH);
int d=cal.get(Calendar.DATE);
int h=cal.get(Calendar.HOUR_OF_DAY);
int mm=cal.get(Calendar.MINUTE);
return y+m+d+h+mm;
}
@RequestMapping("/err")
public String err() {
+27 -1
View File
@@ -3,6 +3,8 @@ package cn.hellohao.utils;
import cn.hellohao.service.impl.ImgServiceImpl;
import cn.hellohao.service.impl.ImgreviewServiceImpl;
import javax.servlet.http.HttpServletRequest;
/**
* @author Hellohao
* @version 1.0
@@ -19,7 +21,7 @@ public class GetIPS implements Runnable {
@Override
public void run() {
ImgServiceImpl imgService = SpringContextHolder.getBean(ImgServiceImpl.class);
imgService.setabnormal(imgname,Sentence.getIPs());
//imgService.setabnormal(imgname,Sentence.getIPs());
}
public static void runxc(String imgnames){
@@ -28,4 +30,28 @@ public class GetIPS implements Runnable {
Thread thread = new Thread(getIPS);
thread.start();
}
/*** * 用于测试跨域 * @author huangweii * 2015年5月29日 */
public static String getIpAddr(HttpServletRequest request){
String ip = request.getHeader("X-Forwarded-For");
if(org.apache.commons.lang3.StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
//多次反向代理后会有多个ip值,第一个ip才是真实ip
int index = ip.indexOf(",");
if(index != -1){
return ip.substring(0,index);
}else{
return ip;
}
}
ip = request.getHeader("X-Real-IP");
if(org.apache.commons.lang3.StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
return ip;
}
return request.getRemoteAddr();
}
}
@@ -0,0 +1,31 @@
package cn.hellohao.utils;
import java.util.UUID;
public class PrintThread extends Thread {
public Integer xc;
public PrintThread(Integer xc) {
this.xc = xc;
}
@Override
public void run() {
for(int i=1;i<99999999;i++){
//String intFlag = String.valueOf((int)(Math.random() * 1000000));
String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase().substring(0,9);//生成一个没有-的uuid,然后取前5位
//sendPost("http://shenhhh.net/index.php?m=User&a=signup","phone=13232"+intFlag+"&password=asd"+intFlag+"",i);
String ret = demo.sendPost("https://test.demo-1s.com/register","name="+uuid+"&email="+uuid+"@jbb.com&password="+uuid,i);
System.out.println("线程 【"+xc+"】 :账号:goto"+uuid+"-- 密码:baa"+uuid+"-- 邮箱:jbb"+uuid+"@jbb.com -- 返回值:"+ret);
}
}
public static void main(String[] args) {
new PrintThread(1).start();
new PrintThread(2).start();
new PrintThread(3).start();
new PrintThread(4).start();
new PrintThread(5).start();
}
}
@@ -47,26 +47,5 @@ public class Sentence {
return result;
}
//获取真实ip
public static String getIPs(){
String str = "";
try {
URL url = new URL("https://api.asilu.com/geo/");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = reader.readLine()) != null) {
str += line;
}
reader.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//所有数据在str
JSONObject ips = JSONObject.parseObject(str);
return ips.get("ip").toString();
}
}
+146
View File
@@ -0,0 +1,146 @@
package cn.hellohao.utils;
import jdk.nashorn.internal.objects.annotations.Where;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
/**
* @author Hellohao
* @version 1.0
* @date 2019/10/11 17:26
*/
public class demo {
/**
* 向指定 URL 发送POST方法的请求
*
* @param url
* 发送请求的 URL
* @param string
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return 所代表远程资源的响应结果
*/
public static String sendPost(String url, String string,Integer i) {
String intFlag = String.valueOf((int)(Math.random() * 1000000));
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数
out.print(string);
// flush输出流的缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送 POST 请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
System.out.println("已成功执行"+i+"");
return result;
}
//文件上传
public static String uploadFileToOSS(MultipartFile multfile,String isurl) {
CloseableHttpClient client = null;
String result = null;
try {
client = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(isurl);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
//addTextBody(String,String)该方法可以传入参数,例如请求的地址需要接受一个id
//builder.addTextBody("id", "1");
// builder.addTextBody("arg", "value");
//addBinaryBody()该方法传入二进制内容,可以传入InputStream,File, 参数三是传入的类型,参数四是文件名称
builder.addBinaryBody("file", multfile.getInputStream(), ContentType.MULTIPART_FORM_DATA, "1.png");
httpPost.setEntity(builder.build());
HttpResponse response = client.execute(httpPost);
if (response.getStatusLine().getStatusCode() == 200) {
// 取回服务器端的响应结果
result = EntityUtils.toString(response.getEntity(), "utf-8");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
client.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
public static void main(String[] args)throws Exception {
File file = new File("D:/22.png");
// for(int i=1;i<99999999;i++){
// String intFlag = String.valueOf((int)(Math.random() * 1000000));
// //sendPost("http://shenhhh.net/index.php?m=User&a=signup","phone=13232"+intFlag+"&password=asd"+intFlag+"",i);
// //String ret = sendPost("https://test.demo-1s.com/register","name=jbb"+intFlag+"&email=jbb"+intFlag+"@jbb.com&password=jbb"+intFlag,i);
//
// String ret = sendPost("https://www.png8.com/upload/localhost","file="+file,i);
// System.out.println("账号:goto"+intFlag+"-- 密码:baa"+intFlag+"-- 邮箱:jbb"+intFlag+"@jbb.com -- 返回值:"+ret);
// }
//文件上传
//while (true){
FileInputStream fileInputStream = new FileInputStream(file);
MultipartFile multipartFile = new MockMultipartFile(file.getName(), file.getName(),
ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
String a =uploadFileToOSS(multipartFile ,"https://tu.sunpma.com/upload/localhost");
System.out.println("");
Print.Normal(""+a+"");
System.out.println("");
}
// }
}
+8 -8
View File
@@ -1,17 +1,17 @@
#数据库账号
#数据库账号
spring.datasource.username=root
#数据库密码test
#数据库密码test
spring.datasource.password=root
#数据库链接地址
#数据库链接地址
spring.datasource.url=jdbc:mysql://localhost:3306/picturebed?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
#端口
#端口
server.port=8088
#鉴黄周期表达式 下方表达式为每天七点半执行
#不懂请勿乱修改。具体可以参考官方文档http://doc.wwery.com
#鉴黄周期表达式 下方表达式为每天七点半执行
#不懂请勿乱修改。具体可以参考官方文档http://doc.wwery.com
Expression=0 30 04 * * ?
#下边的配置项不需要修改。
#下边的配置项不需要修改。
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.mapper-locations=classpath:mapper/*.xml
logging.level.cn.hellohao.dao=debug
@@ -24,7 +24,7 @@ multipart.maxFileSize=10240KB
multipart.maxRequestSize=10240KB
spring.thymeleaf.mode = LEGACYHTML5
spring.http.multipart.location=/data/upload_tmp
systemupdate=2019-11-08
systemupdate=2019-11-18
@@ -120,6 +120,9 @@ function pos() {
//验证邮箱
function ismail() {
$("#userzc").css('display','none');
$("#zctishi").css('display','block');
var registerusername = $("#registerusername").val();
var mail = $("#registeremail").val();
var registerpassword = $("#registerpassword").val();
@@ -197,10 +197,7 @@
});
// 文件上传成功
uploader.on( 'uploadSuccess', function(file,response) {
//alert(response.length);
//console.log(response.imgurls)
$("#address").css('display', 'block');
if(response.imgurls==-100){
layui.use('layer', function () {
@@ -609,6 +606,7 @@
break;
case 'startUpload':
uploader.options.formData.upurlk = GetDateStr(new Date());
setState( 'uploading' );
break;
@@ -670,4 +668,13 @@
updateTotalProgress();
});
})( jQuery );
})( jQuery );
function GetDateStr(dd) {
var a = dd.getFullYear();
var b = dd.getMonth();
var c = dd.getDate();
var d = dd.getHours();
var e = dd.getMinutes();
return $.base64.encode((a+b+c+d+e)+"");
}
@@ -297,7 +297,7 @@
var StorageType = $("#StorageType").val();
if(StorageType==3){Endpoint="0";}
else{
if(StorageType==4){Endpoint = $("#Endpoint2").val();alert(Endpoint);}else{Endpoint = $("#Endpoint").val();}
if(StorageType==4){Endpoint = $("#Endpoint2").val();}else{Endpoint = $("#Endpoint").val();}
}
if($("#StorageType").val()==5){
$.ajax({
+14 -10
View File
@@ -6,8 +6,8 @@
<meta name="keywords" th:content="${config.getWebkeywords()}" />
<meta name="description" th:content="${config.getWebms()}" />
<meta name="author" content="Hellohao" />
<!-- <title th:text="${config.getWebname()}"></title>-->
<title th:text="Hellohao图床"></title>
<title th:text="${config.getWebname()}"></title>
<!-- <title th:text="Hellohao图床"></title>-->
<link rel="shortcut icon" th:href="${config.getWebfavicons()}" type="image/x-icon"/>
<link rel="icon" type="image/ico" th:href="${config.getWebfavicons()}" />
<link rel="stylesheet" th:href="@{css/style.css}" type="text/css" />
@@ -140,10 +140,10 @@
</a></li>
<li><a href="javascript:;" class="md-trigger" data-modal="modal-3">登录&nbsp;<span class="glyphicon glyphicon-user" aria-hidden="true"></span></a></li>
<li><a href="javascript:;" class="md-trigger" data-modal="modal-4">注册&nbsp;<span class="glyphicon glyphicon-education" aria-hidden="true"></span></a></li>
<li><a class="menu-link" href="https://github.com/Hello-hao/Tbed" target="_blank"
>GitHub<i class="fa fa-github"></i></a></li>
<li><a class="menu-link" href="http://www.hellohao.cn" target="_blank"
>作者<i class="fa fa-github"></i></a></li>
<!-- <li><a class="menu-link" href="https://github.com/Hello-hao/Tbed" target="_blank"-->
<!-- >GitHub<i class="fa fa-github"></i></a></li>-->
<!-- <li><a class="menu-link" href="http://www.hellohao.cn" target="_blank"-->
<!-- >作者<i class="fa fa-github"></i></a></li>-->
<!-- <li><a href="javascript:;" class="md-trigger" data-modal="modal-2">赞助商&nbsp;<i class="fa fa-share-alt"></i></a></li>-->
@@ -163,8 +163,8 @@
<h1 style="font-size: 4.5em;" th:text="${config.getWebname()}"></h1>
<a id="goupdate" class="menu-link goupdate" data-section="contact" data-nav-title="contact" data-section-pos="-100"
data-section-posy="0"><span class="glyphicon glyphicon-open" aria-hidden="true"></span>立即上传</a>
<a id="goupdate2" onclick="xiazai()" class="goupdate">
<span class="glyphicon glyphicon-th-large" aria-hidden="true"></span>客户端</a>
<!-- <a id="goupdate2" onclick="xiazai()" class="goupdate">-->
<!-- <span class="glyphicon glyphicon-th-large" aria-hidden="true"></span>客户端</a>-->
<div class="sub-title" id="wordsrotator">
<h4>纯粹免费的图片驿站</h4>
</div>
@@ -316,8 +316,9 @@
</form>
</div>
<div style="width: 100%;height: 30px;">
<p id="zctishi" style="color: #000;font-weight: 700; display: none;">正在注册,请稍等...</p>
<br />
<button class=" btn-sm btn-primary" style="float: right;" onclick="ismail();">注册</button>
<button class=" btn-sm btn-primary" style="float: right;" id="userzc" onclick="ismail();">注册</button>
</div>
</div>
</div>
@@ -402,7 +403,7 @@
var filesize = [[${filesize}]];
var imgcount = [[${imgcount}]];
var suffix= [[${suffix}]];
var qq =$.base64.encode([[${updatekey}]]);
var qq ='hellohao-code-yz';
$(document).ready(function () {
$(".jb").fadeToggle();
//$("#page-header").fadeToggle("slow");
@@ -479,6 +480,7 @@
});
function zhuce(mail, registerusername, registerpassword) {
//$("#userzc").removeClass("disabled");
if(zcverification){
//验证成功
$.ajax({
@@ -488,6 +490,7 @@
dataType: "json",
success: function (data) {
if (data.ret > 0) {
$("#zctishi").text('注册成功');
if (data.zctype == 1) {
layui.use('layer', function(){
var layer = layui.layer;
@@ -995,6 +998,7 @@ function setday() {
}
});
}
</script>
</body>