如何将HTML5文件类型转换为java。伊奥。在瓦丁归档?
public void drop(DragAndDropEvent dropEvent) {
WrapperTransferable tr = (WrapperTransferable) dropEvent.getTransferable();
Html5File[] files = tr.getFiles();
if (files != null) {
for (final Html5File html5File : files) {
final String fileName = html5File.getFileName();
final ByteArrayOutputStream bas = new ByteArrayOutputStream();
StreamVariable streamVariable = new StreamVariable() {
public OutputStream getOutputStream() {
return bas;
}
public boolean listenProgress() {
return false;
}
public void onProgress(StreamingProgressEvent event) {
}
public void streamingStarted(
StreamingStartEvent event) {
}
public void streamingFinished(
StreamingEndEvent event) {
progress.setVisible(false);
showFile(fileName, html5File.getType(), bas);
}
public void streamingFailed(
StreamingErrorEvent event) {
progress.setVisible(false);
}
public boolean isInterrupted() {
return false;
}
};
html5File.setStreamVariable(streamVariable);
progress.setVisible(true);
encryptAndUploadFile( ***html5File****, fileName, folderName);
//如何将这个HTML5文件转换为java。伊奥。因为我有一个encryptAndUploadFile方法,它接受File参数
}
}
}
//encryptAndUploadFile()方法
public void encryptAndUploadFile(File file, String fileName,String folderName)
{
String m_strWebFilePath = finalSourcepath + fileName;
File m_objFile=null;
byte[] sourceFileByte = Encryption.aesEncrypt(com.saterisystems.common.utils.FileUtils.getImageIntoByteArray(file), GlobalConstants.KEY.getBytes(), GlobalConstants.IV.getBytes());
......
......
......
请建议我如何将这个HTML5文件类型的对象类型转换为java。伊奥。文件类型对象
# 1 楼答案
编辑: 我再次阅读了他们的文档和演示代码。当使用Vaadin拖放文件时,实际的上传似乎由它来处理。真正的问题是,您希望在它们进入服务器(从您想要调用的方法)之前对它们进行加密
我想我找到了一种加密上传的方法。请看下面演示中的代码http://demo.vaadin.com/sampler/#ui/data-input/other/drop-items:
它似乎要求您为要发送到服务器的数据提供输出流。您可以对ByteArrayOutputStream类进行子类化,并重写write(byte[]b)方法,以便在数据到达超类write方法之前对其进行加密,如下所示: