我使用以下内容允许客户端从其PC或其移动设备(基于Web)上传图像。
我有一个HTML Widget:
<form enctype="multipart/form-data" method="post" name="selectafile">
<fieldset>
<input type="file" name="fileselector" accept="image/*" id="fileselector"></input>
<input type="hidden" name="MAX_FILE_SIZE" value="512000" />
</fieldset>
</form>
function handler_thorcomm_cloned__onAppStarted(){
jQuery('#fileselector').bind("change", fileSelectHandler);
}
// fire the event
function handler_actionBtn19_onClick(mouseev){
$("#fileselector").click(function(e){
e.stopPropagation();
}
);
$("#fileselector").trigger('click');
}
function fileSelectHandler(e) {
var files = e.target.files || e.dataTransfer.files;
file = files[0];
app.jGrowl(app.OBJ2JSON(file));
if(file.type !== "image/tiff"){
app.setValue("textFileName",file.name);
previewFile();
}
else
{
alert('Sorry tiff file are not supported.');
}
}
function previewFile() {
//alert( 'display image in preview container');
if (file.type.indexOf("image") === 0) {
var reader = new FileReader();
reader.onload = function(e) {
app.setData("imageForDrawPage",e.target.result);
};
reader.readAsDataURL(file);
}
}
此处的示例应用:
这一切都适用于Web,Android Web,IOS 7网站。 它在IOS 8设备上失败。即app.jGrowl(app.OBJ2JSON(文件))为空,尽管图像出现在HTML小部件中。
干杯
SteveW