上传下载文件

1 读文件并下载(会弹出框提示下载还是打开)
String fileName = req.getParameter("fileName");
File file = new File(new File(ATTTACH_PARENT_DIR),MessageUtil.getOSFileName(fileName)); //已知文件
String mimeType = getServletContext().getMimeType(file.getName());
resp.setContentType(mimeType);
// response.setContentLength((int)size);
byte[] buf = new byte[1024];
int len;
OutputStream out = null;
BufferedInputStream in = null;
try {
out = new BufferedOutputStream(resp.getOutputStream(), 512);
in = new BufferedInputStream(new FileInputStream(file), 256);
while ((len = in.read(buf)) != -1) {
if (len > 0) {
out.write(buf, 0, len);
}
out.flush();
}
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
}
}
if (out != null) {
try {
out.close();
} catch (IOException e) {
}
}
}
2.直接打开文件
Runtime runtime = Runtime.getRuntime();
String cmd = "cmd /c start "
+ file.getAbsolutePath();
Process process = runtime.exec(cmd);

3 上传文件


public final void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
this.request = request;
PrintWriter out = response.getWriter();
String path = request.getRealPath("/");// getServletContext.;
boolean writeToFile = true;
String returnOKMessage = "success";

boolean isMultipart = ServletFileUpload.isMultipartContent(request);

String workOrderPlanId = request.getParameter("workOrderPlanIdTextBox");

if (isMultipart) {
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
try {
List items = upload.parseRequest(request);
List<FileItem> sourceFileItemList = new ArrayList<FileItem> (items.size());
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
workOrderId = item.getString();
} else {
sourceFileItemList.add(item);
}
}
for (FileItem sourceFileItem:sourceFileItemList ) {
String sourceFileName = FilenameUtils.getName(sourceFileItem.getName());
if (sourceFileName.trim().length() != 0) {
try {
String name =workOrderPlanLocalService.createAttach(cltWorkOrderPlanPKId, sourceFileName);
tobeTransferedAttachList.add(name);
name = MessageUtil.getOSFileName(name);
File uploadedFile = new File(new File(ATTTACH_PARENT_DIR), name);
File parentDir = uploadedFile.getParentFile();
if (!parentDir.exists()) {
parentDir.mkdirs();
}
sourceFileItem.write(uploadedFile);
} catch (Exception e) {
throw e;
}
}
}
} catch (Exception e) {
returnOKMessage="faield";
}

} else {
returnOKMessage="isMultipartContent = false";
System.out.println("isMultipartContent = false");
}

out.println(returnOKMessage);
}


4 hibernate3.2 JPA 外连接的用法(left outer join on)

select StockItemPhysicalPkg pkg left outer join pkg.sealMaterial

其中 StockItemPhysicalPkg和 sealMaterial many-to-one 的关系,这里要注意的是和普通的SQL不同,
它没有ON的存在
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值