标签: filereader

尝试编译程序时出错

我正在尝试运行从Sun Java站点获取的代码(我没有复制它,查看它并编写它,因为它可以帮助我记住代码).

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class CharEx{
    FileReader inputStream = null;
        FileWriter outputStream = null;

    public static void main(String args[]) throws IOException{
        FileReader inputStream = null;
        FileWriter outputStream = null;

        try{
            inputStream = FileReader("xanadu.txt");
            outputStream = FileWriter("out.txt");
            int c;
            while ((c = inputStream.read()) != -1){
                outputStream(c);
            } 
        }
        finally{
            if(inputStream !=null){
                inputStream.close();
            }
            if(outputStream !=null){
                outputStream.close();
            }

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我遇到了错误.

D:\Java>javac CharEx.java
CharEx.java:14: cannot find symbol
symbol  : method FileReader(java.lang.String)
location: class CharEx
                        inputStream = …
Run Code Online (Sandbox Code Playgroud)

java io filereader filewriter

1
推荐指数
1
解决办法
2721
查看次数

XmlPullParser.getInputEncoding()在API11 +和Android11之前版本上的不同行为

我正在为我的android应用程序开发一项新功能,以启用数据备份和还原。我正在使用XML文件备份数据。这是一段代码,用于设置输出文件的编码:

XmlSerializer serializer = Xml.newSerializer();
FileWriter fileWriter = new FileWriter(file, false);
serializer.setOutput(fileWriter);
serializer.startDocument("UTF-8", true);
[... Write data to the file....]
Run Code Online (Sandbox Code Playgroud)

这就是我尝试从XML文件导入数据的方式。首先,我检查编码是否正确:

XmlPullParser parser = Xml.newPullParser();
FileReader reader = new FileReader(file);
parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
parser.setInput(reader);
if(!"UTF-8".equals(parser.getInputEncoding())) {
    throw new IOException("Incorrect file encoding");
}
[... Read data from the file....]
Run Code Online (Sandbox Code Playgroud)

在这里,我遇到了一个问题。此代码在Android 2.3.3(设备和仿真器)上均能正常工作,该编码已正确检测为“ UTF-8”。但是在API11 +版本(蜂窝,ICS,JB)上会引发异常。当我在调试模式下运行此命令时,我可以看到parser.getInputEncoding()返回null。我检查了在2.3.3和更高版本上生成的实际XML文件,它们具有完全相同的标题:<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>为什么getInputEncoding()在API11 +上返回null?

其他发现:

我发现有一种方法可以使用FileInputStream而不是FileReader像这样来正确检测API11 +设备上的文件编码:

XmlPullParser parser = Xml.newPullParser();
FileInputStream stream = new FileInputStream(file);
parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
parser.setInput(stream, …
Run Code Online (Sandbox Code Playgroud)

xml encoding android filereader fileinputstream

1
推荐指数
1
解决办法
1749
查看次数

如何从上传表单中获取图像的来源?

我最初的大型项目之一,所以请耐心等待.我有一个脚本,可以帮助我调整图像大小并将其转换为base64.这就是它的开始:

var createImage = function (src) {
    var deferred = $.Deferred();
    var img = new Image();

    img.onload = function() {
        deferred.resolve(img);
    };
    img.src = src;
    return deferred.promise();
};
Run Code Online (Sandbox Code Playgroud)

我的问题是从上传表单到脚本获取图像源?

我尝试使用Filereader API拼接(在其他来源的帮助下)一个函数:

var createImageURL = function () {
    var fileinput = document.getElementById('fileinput');
    file = fileinput.files[0];
    var reader = new FileReader();
    reader.readAsArrayBuffer(file);

    reader.onload = function (event) {
      var blob = new Blob([event.target.result]); 
      window.URL = window.URL || window.webkitURL;

      var blobURL = window.URL.createObjectURL(blob);

    }
    return blobURL;
};
Run Code Online (Sandbox Code Playgroud)

但是,这会在控制台中返回GET错误.

javascript html5 filereader

1
推荐指数
1
解决办法
2199
查看次数

未显示多个图像预览

此代码仅显示单个选定图像.列表中选择的最后一个图像.我认为循环位置不正确或附加代码不正确.我也试过改变位置,但同样的事情只显示单个图像.

function readURL(input) {
  if (input.files && input.files[0]) {
    var reader = new FileReader(),
    count = input.files.length;
    for(i=0;i<=count;i++){
      reader.onload = function (e) {
        //$('.image_preview_cont').html('<img src="'+e.target.result+'" />');
        $('.image_preview_cont').append('<img src="#" id="img_preview'+i+'" />');
        $('#img_preview'+i).attr('src',e.target.result);
      }
      reader.readAsDataURL(input.files[i]);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<tr>
    <td class="tdhead">Product Image</td><td><input type="file" name="p_image[]" 
    id="imgInp[]" multiple="true" onchange="readURL(this)" /><td>
</tr>
<tr>
    <td colspan="2"><div class="image_preview_cont"></div></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

javascript html5 file-upload filereader

1
推荐指数
1
解决办法
1749
查看次数

如何在React中将文件转换为Base64

我已经在React中注册了,我需要将文件上传到服务器。这些文件需要Base64编码。

对其进行编码的函数如下:

getBase64(file) {
        let document = "";
        let reader = new FileReader();
        reader.readAsDataURL(file);
        reader.onload = function () {
            document = reader.result;
        };
        reader.onerror = function (error) {
            console.log('Error: ', error);
        };

        return document;
    }
Run Code Online (Sandbox Code Playgroud)

而处理表单的下一步按钮的功能如下:

handleNextButtonClick(event){
    event.preventDefault();
    let data = {domainId: this.props.user[0].domainId, name: steps.stepThree, values: this.state.files};

    let idCard = this.state.files.filter(file => file.file_type === "ID_CARD")[0].values.file;
    let statuses = this.state.files.filter(file => file.file_type === "STATUTES")[0].values.file;
    let blankLetterHead = this.state.files.filter(file => file.file_type === "LETTER_HEAD")[0].values.file;
    let companyPhoto = this.state.files.filter(file => file.file_type === "COMPANY_PICTURE")[0].values.file;


    let …
Run Code Online (Sandbox Code Playgroud)

javascript base64 filereader reactjs

1
推荐指数
3
解决办法
2万
查看次数

reader.onload 关闭未触发

我正在使用 FileReader 进行简单的文件文本上传。

var filesInput = document.getElementById("txtImport");

for (var i = 0; i < filesInput.files.length; i++) {
    current = filesInput.files[i];

    var reader = new FileReader();
    reader.onload = function(file) {
        return function(e) {
            console.log('e', e) // not logging
        }
    }(current)
}
Run Code Online (Sandbox Code Playgroud)

在使用结果和参数读取 FileReader onload时,我需要使用闭包以免丢失循环内的范围。当我点击按钮触发上传时,为什么没有出现日志?为什么该函数没有触发?

javascript file filereader

1
推荐指数
1
解决办法
2748
查看次数

使用JavaScript读取多个文件并等待结果

我想首先说(来自c ++和python),我对JS完全陌生,所以我欢迎任何有关我的代码的明智建议。

我希望使用HTML5文件API读取许多文件,然后使用JS打开它们,执行一些操作并下载压缩后的结果。我的问题是读取文件似乎是异步操作,而且我没有真正看到一种优雅的方式来等待所有文件完成然后压缩结果。

这里提供了一种可能的解决方案:https : //stackoverflow.com/a/17491515, 但我想知道是否有比使用全局标志更好的解决方案 。

我也有从异步函数检索结果的问题,因为我不知道如何找回new_file_listchangeCharsInFiles

谢谢!

代码示例:HTML:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    </head>
    <body >
        <div class="container">
            <div class="jumbotron">
                <h3>Add Files Here</h3>
                <input type="file" id="the-file-field" multiple>
            </div>
        </div>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.5/jszip.min.js"></script>
        <script src="http://cdn.jsdelivr.net/g/filesaver.js"></script>
        <script>
         ########### SEE JS BELOW #####################
    </script>
</body>
Run Code Online (Sandbox Code Playgroud)

JS:

if (window.File && window.FileReader && window.FileList && window.Blob) {

                //functions
                function zipMyFilesAndSave(file_list){

                    var zip = new JSZip();
                    for (var i = …
Run Code Online (Sandbox Code Playgroud)

html javascript html5 filereader

1
推荐指数
1
解决办法
1224
查看次数

如何将上传的图像应用于背景图像?

我正在使用标准的 jQuery 上传图片,我希望将其用作标题的背景图片。Background-image 应该接收 'url' 而不是 'src' 属性,那么还有可能获得吗?

jQuery代码:

function uploadImage(input){
    if (input.files && input.files[0]) {
     var reader = new FileReader();
     reader.onload = function(e) {
         $('#home-section').attr('background-image...???', e.target.result);
     }
     reader.readAsDataURL(input.files[0]);
    }
}
Run Code Online (Sandbox Code Playgroud)

#home-section是提供给标题的 id。我知道我也可以使用常规的 img 标签,然后使用 z-indexes 使其像背景图像一样运行,但这是唯一的选择吗?

javascript jquery background-image filereader

1
推荐指数
1
解决办法
1106
查看次数

使用纯 Javascript 输入类型文件检查图像分辨率

我创建了一个type=file输入元素

<input type="file" id="input-id" accept="image/jpg" onchange="verifyFileUpload(event)">
Run Code Online (Sandbox Code Playgroud)

我需要检查文件分辨率是否aXb使用纯 Javascript。我怎样才能在verifyFileUpload(event)函数中做到这一点?

javascript image filereader

1
推荐指数
1
解决办法
2138
查看次数

如何等待“for循环下一次迭代”直到获得 FileReader.onload 结果

我们如何处理循环中的异步方法?我在 Angular 程序中遇到问题,我无法处理异步方法。我想等待异步方法。有没有办法在 for 循环中等待异步方法。

这是我的代码:

msg: string[] = [];  

filePicked() {
    this.msg = [];
    this.msg.push("file picked");
    const file: File = new File([""], "C:\Users\Arun Girivasan\Downloads\about.jpg");

    for (var i = 0; i < 10; i++) {

        const reader = new FileReader();
        reader.onload = () {
        this.msg.push("file loaded successfully");
    }
    reader.readAsDataURL(file);


    this.msg.push(i.toString());
}
Run Code Online (Sandbox Code Playgroud)

html:

<div *ngFor="let m of msg">{{m}}</div>
Run Code Online (Sandbox Code Playgroud)

输出:

file picked  
0  
1  
2  
3  
4  
5  
6  
7  
8  
9  
file loaded successfully  
file loaded successfully  
file loaded successfully  
file …
Run Code Online (Sandbox Code Playgroud)

filereader typescript angular

1
推荐指数
1
解决办法
1659
查看次数