Как использовать условия в JSP - PullRequest
0 голосов
/ 14 декабря 2018

Мне нужно проверить размер загружаемого файла, тип и установить имя загруженного файла в тег значения fileUpload.
Я написал для них простые функции в uploadController и должен вызвать их, чтобы проверить размер и тип файла.Есть ли какой-нибудь рекомендуемый способ сделать эту проверку файла?

<h:form enctype="multipart/form-data">
  <p:growl id="messages" showDetail="true" />


  <p:fileUpload 

        // need set value after validating the file using  
           BannerUpload.isPng()
           BannerUpload.checkMaxSize()
  
        value="#{BannerUpload.file}" mode="simple" skinSimple="true" />
  <br/>

  <ui:fragment rendered="#{not empty BannerUpload.file}">
    <img src="data:image/png;base64,#{BannerUpload.imageContentsAsBase64}" alt="" />
  </ui:fragment>
  <br/>

  <p:commandButton action="#{BannerUpload.preview}" ajax="false" value="Preview" />

  <br/>

  <p:commandButton value="Submit" ajax="false" action="#{BannerUpload.upload}" disabled="false" />
</h:form>

1 Ответ

0 голосов
/ 14 декабря 2018

Для проверки это изображение?или размер изображения может быть сделан на стороне браузера здесь, я нашел ссылку нажмите здесь, например, , и вы также можете сделать с контроллером, но это не лучше для большого файла и для примера кода JavaScript

function GetFileSize(fileid) {
try {
    var fileSize = 0;
    // for IE
    if(checkIE()) { //we could use this $.browser.msie but since it's deprecated, we'll use this function
        // before making an object of ActiveXObject, 
        // please make sure ActiveX is enabled in your IE browser
        var objFSO = new ActiveXObject("Scripting.FileSystemObject");
        var filePath = $("#" + fileid)[0].value;
        var objFile = objFSO.getFile(filePath);
        var fileSize = objFile.size; //size in b
        fileSize = fileSize / 1048576; //size in mb 
    }
    // for FF, Safari, Opeara and Others
    else {
        fileSize = $("#" + fileid)[0].files[0].size //size in b
        fileSize = fileSize / 1048576; //size in mb 
    }
    alert("Uploaded File Size is" + fileSize + "MB");
}
catch (e) {
    alert("Error is :" + e);
}

}

или

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...