package dropzone.util;
import com.google.gson.Gson;
import dropzone.entity.UploadFileResultEntity;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.json.JSONException;
import org.json.JSONObject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 使用dropzone插件上传
*/
public class DropzoneUploadUtil {
public static String uploadFilePath = "/Users/susu/file_test/file_upload/file_upload_0409";
/**
* 上传附件
* @param request
* @param response
* @throws IOException
* @throws JSONException
*/
public static void dropzoneUploadFile(HttpServletRequest request, HttpServletResponse response) throws IOException, JSONException {
String physical_path = "";
List<UploadFileResultEntity> uploadFileResultClientList = new ArrayList<>();
List<UploadFileResultEntity> uploadFileResultServerList = new ArrayList<>();
Gson gson = new Gson();
JSONObject json = new JSONObject();
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
SimpleDateFormat fmt = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss_SSS");
String date = fmt.format(System.currentTimeMillis());
upload.setHeaderEncoding("UTF-8");
try {
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
String OriginalName = item.getName().substring(item.getName().lastIndexOf("\\") + 1);
String fileName = OriginalName.substring(0, OriginalName.lastIndexOf(".")) + "@@" + date + "@@" + item.getName().substring(item.getName().lastIndexOf("."), item.getName().length());
File f = new File(uploadFilePath);
if (!f.exists()) {
f.mkdirs();
}
// server_path = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/temp/" + fileName;
physical_path = uploadFilePath + "/" + fileName;
File uploadedFile = new File(physical_path);
System.out.println("physical_path:" + physical_path);
item.write(uploadedFile);
uploadFileResultServerList.add(new UploadFileResultEntity(fileName, uploadedFile.length(), physical_path, ""));
uploadFileResultClientList.add(new UploadFileResultEntity(OriginalName, uploadedFile.length(), physical_path, ""));
}
}
} catch (Exception e) {
e.printStackTrace();
}
response.setContentType("text/text;charset=utf-8");
PrintWriter out = response.getWriter();
json.put("error", false);
json.put("uploadFileResultServerList", gson.toJson(uploadFileResultServerList));
json.put("uploadFileResultClientList", gson.toJson(uploadFileResultClientList));
out.print(json);
out.flush();
out.close();
}
/**
* 删除附件(删除服务器上的附件)
* @param request
* @param response
*/
public static void dropzoneRemoveFile(HttpServletRequest request,HttpServletResponse response){
JSONObject json = new JSONObject();
String filePathsStr = (request.getParameter("filePaths") == null) ? "" : request.getParameter("filePaths").trim();
String[] filePathsArray = null;
try {
if (!filePathsStr.equals("")) {
if (filePathsStr.indexOf("¤¤¤¤¤") > 0) {
filePathsArray = filePathsStr.split("¤¤¤¤¤");
} else {
filePathsArray = new String[1];
filePathsArray[0] = filePathsStr;
}
int deleteCount = removeFile(filePathsArray);
json.put("count", deleteCount);
}
PrintWriter p = response.getWriter();
p.println(json); //response ajax data,InputThinPCAccount2.js receive this "flag"。
p.flush();
p.close();
} catch (JSONException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static int removeFile(String[] paths) {
int deleteCount = 0;
for (String filePath : paths) {
filePath = ScriptDecoderUtil.unescape(ScriptDecoderUtil.unescape(filePath));
File file = new File(filePath);
if (!file.exists()) {
System.out.println("系统找不到指定的路径:" + filePath);
} else if (!file.delete()) {
System.out.println("删除附件失败:" + filePath);
} else {
deleteCount++;
}
}
return deleteCount;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
使用uploadify插件(php版和Java版) 与 Dropzone.js插件分别实现附件上传的demo
共496个文件
jar:47个
class:21个
xml:13个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 29 浏览量
2024-04-30
20:43:27
上传
评论
收藏 19.55MB ZIP 举报
温馨提示
使用uploadify插件(php版和Java版) 与 Dropzone.js插件分别实现附件上传: 1. 使用uploadify插件(包括:php版和Java版); 2. 使用Dropzone.js插件实现附件上传; 3. 两种上传方式都是拿来即用,不用做任何修改,下载项目导入到工作空间启动就可测试看效果; 4. 具体实现效果可以看我博客里对应的文章;
资源推荐
资源详情
资源评论
收起资源包目录
使用uploadify插件(php版和Java版) 与 Dropzone.js插件分别实现附件上传的demo (496个子文件)
004d324251997557d5140eee3dbbcfff4550cc 258B
02d75d4d0ac28db5631e48bc39fb34940916dd 53KB
0330c47313c6f23789451dfae3b34c7e62816b 179B
03f1566891a0b65c24b960dd388c3b419e32e2 179B
054e0885d1a99f70ea4d786beee30a2c05d06b 1KB
05e46befe2deda0dd2a0d1b1098315166e77a5 179B
05fa7c0cc7876a366ab128e892ba49d4dd213f 283B
0719e20b003b7401561cb42a54b263f45d06dd 254B
086e8fec460467dff8612204593b655716d0de 81B
09323c92deb3a09e3a03729d695aaafaddfe00 55B
0954f4cabbe9534f38bad63656a6343e49852a 178B
0ab617d9f5e2a94ef5011218531d04fba63b0b 83B
0b8cd34f62bb97201704d4c1821a98a2fa2990 286B
0c05ccab1e8b0701326350e5b39be408353f2f 5KB
0c5ae3d629e9711a87dca89518cb98ac8585bf 51B
0cda226fcab02b7ffdcd8fd9bf9c72dea63bf2 59KB
0d0fa7abd375121e0db2d1e893b08781e91ece 147B
0ef703bb272105d5bcf005b8036716933db9a5 283B
0f1956cd87f20d2e5c43b7f044c03e5f2d4ed6 259B
0f2ec616280b307e3a05c6dc9d11742a2de8a9 108B
11301271d22807c08907528f0e1996d5ddcd15 459B
1208633ea581cf89a175877a4c3a54d95314e1 147B
1325be8e47e2595b4edf85d5efc677f465e83f 622B
137e614302468bf5376fc3e97f62e0c0229875 55B
13d189db43205644d09981b13fd936d7cbf961 1KB
14b93008e7c1a15303fa800c651fc38619745e 397B
1643f8335fc26e00b5c38f728496022f885ef2 545B
17357995d315c8f169db9a153e89c025c48c7d 117B
1977fd009c4c8a5eab517bf800afb8b858b1c2 253B
19dbea6f7d0698c9114eb7a4405798cf207f79 56B
1b380d63e19aeefcad7f2de0595d348a407e1f 1KB
1db632a0e72bed1f947056bd7e2dde5a37d921 637B
1e642d93b7dbc264b5711e25d22656038a184f 283B
1eb77f680c496ff57e577ce990ca5ec0ebb891 51B
1f56f943829f07df9373f6639041a7315048a3 2KB
1f8d3bb9b815e6c884896e8a3da633c997a5e7 98B
21b0ecb715a1098dba4762bc3621de6610c441 254B
21d962cdf960171f4ae727d726ed9c9fda218f 148B
22355f24ab14c5019cdb4002cfd1aec0dc33c5 283B
22881a6272d39822285910ce44e8e3c3300ee6 116B
229617331c982c50c486c045460e9b9c5bfc1a 84B
23e7399bdadd4d9fc0d8b88875debcdc644faf 308B
2503b4cdb0e69303f3395e963e4169917dcc57 254B
25b56af5c6665ecefb93bc995b0ae164895214 81B
263b72cf6e05648e964bc50031c33703b9ae97 283B
26f248e213292c5183862c4a2d38e3290f776e 48B
27829e2a98ac868d466242874318b6bff67079 44KB
28c68040753e89ce7cc23a67d7b489daf001e4 275B
29beda29c30b7320a1978840ae1873ce3cdfe2 75B
2a72e7752ee1525ee6ead84b18543d8427fc41 257B
2af7a8cfb99cb889ac325f5cbf1761f5524f00 382B
2b1d87580a024889a1648f9e4670e403dd117c 76B
2b8d592121afe20169eeacd11eac6eb0b56766 49B
2c55101ec52b37c693d081447d618bfd8caed7 75B
2ce1ce180f22ce3532c4d5ae910e23cde810bb 285B
2de6b58b6da9f83b5ae71389a0610c7c4e285d 64B
2e26c977b6ef4703f14442fc38144bbb2f813e 1KB
2eecf443e2abc4f72dff3d251477339bf6742c 72B
2f64b72330a7c8742cc4aedb0d32724af40a9c 316B
2fe4382bb88f44b9de19beb1ebc0072d39990d 146B
30190ff33c3bd38ddfae4a9256076fe4a4e89f 178B
305cb722b91d827ba5eff56feccc8cd4100cb4 999B
308af6d2799e00722651819b00698613c65877 5KB
30d421487c68780a87deabd9d6f05249a7f865 625B
320a86fd50caf8157f9ad5db829772a45c6193 5KB
32c94e9c7dfcb179562f5b1ae95d9ca2e241f0 182B
3344fb70f1b1d1cf3f07280a2cae3a1506c8d6 5KB
33bcd4e158e075d42d6a584e6e239b203b0565 2KB
356f27333dc5b5d36a5448a32d04081a5063ca 5KB
36042efd4020b7163768f29795e74b94ccdf7d 255B
36bda1bbf1d00e0f1e91ca44877aacce90cd13 146B
37dfc8c56af7ebc1af00cc01b0f28c097db3bd 148B
389244225ea64c4ba8050544284cbadf9eaa4f 112B
38a7a10d3dc6d555f31ccc7da7d2fef7d31eb4 612B
392a0e1f1f0f37bee7f2a01e7d07dcc973a77b 57B
39d8e0c01fa2e21c8def0d8da9fa99f324c8ac 5KB
3a0eeb09fdd8e680d800d159e817ad652485f6 254B
3a29113992149bf1a5fafba9e112fd3720cfbc 94B
3d3b438daeb3489bff59c6c46784f920087f23 76B
3d8705a16a153f4447d6b74eff26b9dbdd59d3 95B
3e7a924e076a69ae8039cbe88cd28e510c51da 428B
3ea865c45ac9712c6855e2232d8477b80b4064 95B
3efd548f7206f08e91475a40711552adc4c5b4 253B
3f02a39f252b8d528d278f5aa3f7df0839c327 997B
3ff54318be7938d584dc000c3550cc5ebdff46 102B
407c47920298cfd7713e525b35d3bdc4ba31fb 2KB
412c9bfe57794afb1cef8f1f93d22a8e170093 84B
425cf7d7e25f81be64d32c406ff66cfb6c4766 435KB
426607d7f8bd0c7838521e496d59ae6a434fd4 302B
4272e1c0740423e25eb40be9a98ce1556474b1 52B
43f417ade717d8b79aafde8ae7c66dd95684b5 63B
4453b137efdd8a9b11405551ca7ca5b72321d3 75B
473b2a8d85968d133367415cb7b70cdfa5a46c 3KB
47e3a15e4afb17e64cea6856c80170dd535133 284B
4869464a0cdadfb4161ef78616dcb1dcd9e5c8 181B
4914374ff23df581302d3cdfd8fca63ae01d26 76B
49cccc3cb2cca6595c8d92d4297d75288b68cb 10KB
4c36a47447d1ab90fb001873d7a68b9022c9b2 284B
4d3587d245d9a1a5bd3ac9fa80d19b132b6585 109B
4dd85c44a90e9176082b369eb424adc5a37bd6 94B
共 496 条
- 1
- 2
- 3
- 4
- 5
资源评论
@素素~
- 粉丝: 1w+
- 资源: 90
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功