我使用JSP表单上传和Servlet将大型文件存储在MySQL数据库中。因为我是Java的新手,所以我需要一个非常紧急的帮助。 我试图将文件存储在String值中,但是我得到了字符串索引超出边界的错误。
我有数据库表文件,其中包含(varchar File_Name,Blob File_data,Varchar File_Date)。 我需要将上传的文件存储在
中我在servlet中有这个代码: ** BTW:我不知道为什么“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属性中?
答案 0 :(得分:2)
Strike through表示API已弃用,并且这些类/方法可能无法按预期工作。
将文件存储到数据库,您需要将内容存储为blob字段中的字节。见discussion。虽然它与某些错误有关,但是OP发布了如何执行此操作的代码。