0

我正在使用 JSP 表单上传和 Servlet 将大型文件存储在 MySQL 数据库中。而且因为我一般是 Java 新手,所以我需要一个非常紧急的帮助。我试图将文件存储在字符串值中,但出现字符串索引超出边界的错误。

我有数据库表 Files 它有 (varchar File_Name, Blob File_data, Varchar File_Date) 。我需要将上传的文件存储在

我在servlet中有这段代码:**顺便说一句:我不知道为什么“DiskFileUpload,parseRequest”有删除线?

 try {
         InputStream uploadedFile = null;

         <strike>DiskFileUpload</strike> fu = new </strike>DiskFileUpload</strike>();
        // If file size exceeds, a FileUploadException will be thrown
        fu.setSizeMax(10000000);

        List fileItems = fu.<strike>parseRequest</strike>(request);
        Iterator itr = fileItems.iterator();

        while (itr.hasNext()) {
            FileItem fi = (FileItem) itr.next();

            //Check if not form field so as to only handle the file inputs
            //else condition handles the submit button input
            if (!fi.isFormField()) {  // If the form fiel is a file
                uploadedFile = fi.getInputStream();
            } 

我应该转换什么类型的数据 uploadFile cvariable 能够将其存储在 Blob 属性中?

4

1 回答 1

2

删除意味着 API 已被弃用,这些类/方法可能无法按预期工作。

将文件存储到数据库中,您需要将内容作为字节存储在 blob 文件中。请参阅此讨论。即使它与某些错误有关,OP 也发布了有关如何执行此操作的代码。

于 2012-05-10T21:15:52.657 回答