2017-07-19 66 views
0

在我ZUL我使用:爲什麼不在ZK中運行上傳命令?

<cell colspan="2"> 
    <button label="Upload image" upload="true" onUpload="@command('uploadImage', uploadEvent=event, window = editTranslation)"/> 
</cell> 

而且在視圖模型我用這個:

@Command 
@NotifyChange({"leadImage", "uploadMessage"}) 
public void uploadImage(@BindingParam("uploadEvent") UploadEvent event, @BindingParam("window") Window win) { 
    Clients.showBusy(win, "Képfeldolgozás ..."); 
    System.err.println("uploadimage"); 
    Media media = event.getMedia(); 
    if (media instanceof org.zkoss.image.Image) { 
     saveImageToDisk(media); 
     Clients.clearBusy(win); 
    } else { 
     Clients.clearBusy(win); 
     Messagebox.show("Ez nem egy kép: "+media, "Error", Messagebox.OK, Messagebox.ERROR); 
    } 
} 

但是不會運行uploadImage命令,如果我按一下按鈕,然後選擇圖像...它表明:例如C:\ fakepath \ desert.png ...什麼是問題?我使用彈簧安全可以導致這種情況嗎?

回答

0

在春季安全XML我不得不添加此行:

<headers> 
     <frame-options policy="SAMEORIGIN"/> 
    </headers> 
0

嘗試這些行添加到您的上傳方法:

String webAppPath = Executions.getCurrent().getDesktop().getWebApp().getRealPath("/") + "\\"; 
String filePath = webAppPath + media.getName(); 
Files.copy(new File(filePath), media.getStreamData()); 

上面的代碼將文件上傳到你的Web應用程序文件夾

相關問題