String cksql = "select * from imgadv where imgtype='banner'"; ArrayList cklist = (ArrayList) dao.select(cksql); if (imgtype.equals("banner") && cklist.size() != 0) { request.setAttribute("no", ""); go("/admin/imgadvadd.jsp", request, response); } else { String sql = "insert into imgadv (filename,imgtype) " + "values('" + img + "','" + imgtype + "')"; dao.commOper(sql); request.setAttribute("suc", ""); go("/admin/imgadvadd.jsp", request, response); } } catch (Exception e1) { e1.printStackTrace(); request.setAttribute("no", ""); request.getRequestDispatcher("/admin/imgadvadd.jsp").forward( request, response); }
时间: 2023-12-24 20:42:16 浏览: 27
这段代码中,首先定义了一个SQL语句,用于查询数据库中是否已经存在类型为"banner"的图片。然后将查询结果存储在一个ArrayList中。接着判断当前上传的图片类型是否为"banner",并且查询结果ArrayList的大小是否不为0。如果满足条件,则说明已经存在同类型的图片,将错误信息存入request中,并跳转到上传页面。如果不满足条件,则将上传的图片信息插入到数据库中,并将成功信息存入request中,最后跳转到上传页面。
如果在处理过程中捕获到异常,则将错误信息存入request中,并跳转到上传页面。
相关问题
// 新增图片 if (ac.equals("imgadvaddold")) { try { String img = ""; String imgtype = ""; request.setCharacterEncoding("utf-8"); RequestContext requestContext = new ServletRequestContext( request); if (FileUpload.isMultipartContent(requestContext)) { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File(request .getRealPath("/upfile/") + "/")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(100 * 1024 * 1024); List items = new ArrayList(); items = upload.parseRequest(request); imgtype = ((FileItem) items.get(1)).getString(); imgtype = Info.getUTFStr(imgtype); FileItem fileItem = (FileItem) items.get(0); if (fileItem.getName() != null && fileItem.getSize() != 0) { if (fileItem.getName() != null && fileItem.getSize() != 0) { File fullFile = new File(fileItem.getName()); img = Info.generalFileName(fullFile.getName()); File newFile = new File( request.getRealPath("/upfile/") + "/" + img); try { fileItem.write(newFile); } catch (Exception e) { e.printStackTrace(); } } else { } } } String cksql = "select * from imgadv where imgtype='banner'"; ArrayList cklist = (ArrayList) dao.select(cksql); if (imgtype.equals("banner") && cklist.size() != 0) { request.setAttribute("no", ""); go("/admin/imgadvadd.jsp", request, response); } else { String sql = "insert into imgadv (filename,imgtype) " + "values('" + img + "','" + imgtype + "')"; dao.commOper(sql); request.setAttribute("suc", ""); go("/admin/imgadvadd.jsp", request, response); } } catch (Exception e1) { e1.printStackTrace(); request.setAttribute("no", ""); request.getRequestDispatcher("/admin/imgadvadd.jsp").forward( request, response); } }
这是一个Java Servlet中的一段代码,用于处理上传图片的逻辑,包括获取上传的文件、文件类型,保存到指定目录,并将文件信息插入到数据库中。其中使用了Apache Commons FileUpload库来处理文件上传。在上传图片之前,会先检查数据库中是否已经存在同类型的图片,如果存在则不允许上传。
def openimage(self): imgName, imgType = QFileDialog.getOpenFileName(self, "打开图片", "", "All Files(*)") jpg = QtGui.QPixmap(imgName).scaled(self.label.width(), self.label.height()) # print(imgName) self.label.setPixmap(jpg)
这段代码是一个名为`openimage`的方法,它是在某个类中定义的。
首先,使用`QFileDialog.getOpenFileName`方法打开一个文件对话框,用于选择图片文件。该方法的参数包括:父对象`self`、对话框标题为"打开图片"、默认文件路径为空字符串,以及文件过滤器为"All Files(*)",表示允许选择任意类型的文件。
返回的`imgName`是用户选择的图片文件的完整路径,而`imgType`则是文件的类型。
接下来,使用`QtGui.QPixmap`加载选中的图片文件(`imgName`),并使用`scaled`方法调整图片尺寸以适应`self.label`的宽度和高度。得到的缩放后的图片对象被赋值给变量`jpg`。
最后,通过调用`self.label.setPixmap(jpg)`将缩放后的图片显示在`self.label`控件上。
这段代码实现了打开图片并在标签上显示的功能。可以将其作为按钮的点击事件处理函数,当按钮被点击时,会触发此方法执行。