当前位置: 首页 > 知识库问答 >
问题:

如何在数据库中存储图像路径?

鲍永春
2023-03-14

你好,我正在制作员工目录。在这种形式下,我想上传员工的照片,当我试图存储图像时,我遇到了错误,比如Portlet暂时不可用,如果我成功删除图像上传逻辑,然后在数据库中删除其他数据存储。请帮助我如何在数据库中存储图像路径。我已在/webapps中创建图像文件夹。我想将我的所有图像存储在此文件夹中,并将图像路径存储到数据库中。请告诉我如何存储图像路径,以及存储图像路径后如何在其他页面中显示图像。

在这里,我给你我的java代码,我已经写了我的逻辑。包裹通讯。迪尔;

import java.io.File;
import java.io.IOException;
import java.util.Date;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletException;
import com.liferay.portal.kernel.exception.SystemException;
import com.dir.model.directory;
import com.dir.model.impl.directoryImpl;
import com.dir.service.directoryLocalServiceUtil;
import com.liferay.counter.service.CounterLocalServiceUtil;
import com.liferay.portal.kernel.upload.UploadPortletRequest;
import com.liferay.portal.kernel.util.FileUtil;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.portal.util.PortalUtil;
import com.liferay.util.bridges.mvc.MVCPortlet;


  public class Directory extends MVCPortlet {

public void updatedir(ActionRequest actionRequest,ActionResponse  
 actionResponse)throws IOException, PortletException
        {
String empname =ParamUtil.getString(actionRequest,"empname");
    String designation =ParamUtil.getString(actionRequest,"designation");
String qualification =ParamUtil.getString(actionRequest,"qualification");
    String email =ParamUtil.getString(actionRequest,"email");
String photo=ParamUtil.getString(actionRequest,"photo");
String company =ParamUtil.getString(actionRequest,"company");
int experiance=ParamUtil.getInteger(actionRequest,"experiance");

directory d1 = new directoryImpl();

// set primary key
long directoryId=0L;
try
{

     directoryId=CounterLocalServiceUtil.increment(this.getClass().getName());
} 
catch (SystemException ex)
{
    ex.printStackTrace();
}
   d1.setDirectoryId(directoryId);

        // set UI fields
        d1.setEmpname(empname);
        d1.setDesignation(designation);
        d1.setQualification(qualification);
        d1.setEmail(email);
        d1.setPhoto(photo);
        d1.setCompany(company);
        d1.setExperiance(experiance);

    File file;

        UploadPortletRequestupreq=PortalUtil.getUploadPortletRequest(actionRequest);
    file=upreq.getFile(photo);

    Stringpath=actionRequest.getPortletSession().getPortletContext().getRealPath(photo) 
     + "//" + ("/images");

        File fileone= new File(path);
        FileUtil.copyDirectory(file,fileone);

        // set audit field(s)
        d1.setDateAdded(new Date());

        // insert the book using persistence api
        try {

        directoryLocalServiceUtil.adddirectory(d1);
        } catch (SystemException e) {
        e.printStackTrace();
        }


        }


      }

这里我给你我上传照片的Jsp文件。

   <aui:form name="fm" method="POST" action="<%= updatedirURL.toString() %>"   
    enctype="multipart/form-data">

  <aui:input name="empname" label="Name"/>

 <aui:input name="designation" label="Designation"/>
 <aui:input name="qualification" label="Qualification"/>

 <aui:input name="email" label="Email"/>

 <aui:input type="file" label="Photo" name="photo"/>

 <aui:input name="company" label="Company"/>

 <aui:input name="experiance" label="Experiance"/>

 <aui:button type="submit" value="Save"/>
 </aui:form>

请帮助我哪里错了,哪里缺了它需要的东西。并告诉我如何显示该文件夹中的数据。

共有1个答案

夹谷硕
2023-03-14

查看关于使用mysql读/写文件(文件可能是任何类型)的这篇文章,Tt将对您有很大帮助<欢呼。。。

 类似资料:
  • 问题内容: 如何在MySQL数据库中存储和显示图像。到目前为止,我只编写了从用户那里获取图像并将其存储在文件夹中的代码,而到目前为止,我编写的代码是: HTML FILE PHP文件 问题答案: 我找到了答案,对于那些在这里寻找相同事物的人,我是怎么做的。您不应该考虑将图像上传到数据库,而是可以将上传文件的名称存储在数据库中,然后检索文件名,并在要显示图像的任何位置使用它。 HTML代码 PHP代

  • 问题内容: 我正在尝试显示上传到MySql中“存储”表的最后5张图像。我对PHP和数据库完全陌生,并且我一直在阅读有关如何做到这一点的很多文章,但是没有运气。 我可以一次存储和显示图片,但我希望能够拥有各种各样的画廊来显示最近上传的5张照片。 任何建议或帮助将不胜感激,谢谢! 附言:我知道将图片存储到这样的数据库时不赞成这样做,但是该项目仅用于实践。 index.php get.php 问题答案:

  • 我需要在数据库中按kb保存大小,以便在前端查看,这是我正在使用的控制器。我使用的是Laravel 5.8 所以我的问题是,拉雷维尔是否提供了处理这种情况的任何假象?或者任何其他框架都有更适合问题的功能是什么?

  • 问题内容: 在数据库中存储图像的常用方法是在存储数据之前将图像转换为数据。此过程将使大小增加33%。或者,可以将图像直接存储为;例如: 然后用 使用后一种方法,我们可以节省1/3的存储空间。为什么像在MySQL数据库中那样存储图像更常见? 更新: 关于将图像存储在数据库中的优点和缺点的争论很多,大多数人认为这不是一种实用的方法。无论如何,在这里我假设我们将图像存储在数据库中,并讨论了这样做的最佳方

  • 我在后端使用Rails API,在前端使用ReactJS。我也使用载波在后端处理我的图像。我试图上传我的图像并将其发送到后端。使用简单的超文本标记语言上传器在前端捕获图像文件。 这是我的uploader.jsx 以上代码是此解决方案的精确副本。我使用formData和axios将数据推送到后端。但数据在数据库中存储为“nil”值。安慰log(formData)给出一个空哈希。 我在后端的控制器代码