HttpExchange exchange;
OutputStream responseBody = null;
try{
File fileVal = new File(file);
InputStream inVal = new FileInputStream(fileVal);
exchange.sendResponseHeaders(HTTP_OK, fileVal.length());
responseBody = exchange.getResponseBody();
int read;
byte[] buffer = new byte[4096];
while ((readVal = inVal.read(buffer)) != -1){
responseBody.write(buffer, 0, readVal);
}
} catch (FileNotFoundException e){
//uh-oh, the file doesn't exist
} catch (IOException e){
//uh-oh, there was a problem reading the file or sending the response
} finally {
if (responseBody != null){
responseBody.close();
}
}
我想将大型视频文件上传为块。在进行操作时,我收到以下错误。
groovy.lang.GroovyRuntimeException: Could not find matching constructor for: java.io.File(org.springframework.web.multipart.commons.CommonsMultipartFile)
任何人都会指导我解决这个问题。
答案 0 :(得分:0)
错误消息完美地描述了失败。类File
没有构造函数接受类型为org.springframework.web.multipart.commons.CommonsMultipartFile
的参数。
尝试使用要打开的文件的路径。例如:
String path = "/path/to/your/file.txt";
File fileVal = new File(path);
或者,您可以使用CommonsMultipartFile中的getInputStream()
方法。
InputStream inVal = file.getInputStream();
答案 1 :(得分:0)
File fileVal = new File(file);
这里的文件是org.springframework.web.multipart.commons.CommonsMultipartFile类型,你试图通过在构造函数中传递CommonsMultipartFile对象来创建File对象,而File类没有CommonsMultipartFile类型的构造函数。
Check here for File Class Constructor
您需要从文件对象中获取字节并创建一个java.io.File对象。