我想知道HTML5的当前状态是否可以编辑本地文件. 更确切地说,我的意思是: 这些文件不由服务器提供(它们在file://上),或者在最坏的情况下是本地服务器 编辑器要么在本地文件系统上,要么由外部服务器服务 如果我不使用浏览器扩展程序会更好 总体目标是创建一个在线IDE,该IDE 不需要页面重新加载或手动文件插入 我知道有文件系统API,但根据我阅读的内容,它似乎仅适用于Chrome扩展名?那聆听文件更改呢? 我还在 trace.gl 上都可以创建打开本地文本编辑器(一旦单击)(像在镀铬控制台中). 可以重现我们在trace.gl上看到的内容,但与对本地文件系统的访问相结合,并聆听文件更改事件,目的是创建某种本地IDE? 编辑更精确:目标实际上是创建一个IDE.考虑一下从工作区中显示每个文件和目录的代码IDE(Eclipse ...)的典范,并收听更改,可以实时读/写作.这是我想要实现的. PS:如果需要的话,可能是浏览器特定的 解决方案
以下是关于 html5-filesystem 的编程技术问答
我试图在使用FS对象的文件上使用浏览器.当我浏览它时,调用require('fs')的调用不会转换,require返回{}. 有什么解决方法吗?我已经在Stackoverlow和其他地方看到了一些建议,但似乎都没有完全实现. 我实际上希望使用browserify创建一个Google Web包装应用程序,用于我教的课程. 预先感谢. 解决方案 那么,浏览器应该使用哪些文件系统? HTML5文件系统实际上与传统文件系统并不可比.它没有符号链接,并且仅在网络工人外面可访问异步. 因此,答案是:在node.js运行时可以依靠FS模块来写一个抽象层,而在浏览器中运行时的HTML5 FS API.差异太大,无法为您浏览. 其他解决方案 如果要从fs.readFileSync()呼叫中内联文件内容,则可以使用 brfs : var fs = require('fs'); var src = fs.readFileSync(__dirname + '/fil
我现在正在开发一个Cordova应用程序平台是浏览器(Chrome). 我在使用Cordova-Plugin-File读取文件时失败了. 根据 cordova-plugin-fugin-file:chrome Quirks ,它说: Chrome Filesystem在设备准备就绪事件之后尚未立即准备就绪.作为解决方法,您可以订阅filePluginIsReady事件....您可以使用window.isFilePluginReadyRaised函数检查事件是否已经提出. 我这样写了我的代码: document.addEventListener('deviceready', dataRead, false); function dataRead() { window.addEventListener('filePluginIsReady', readyToRead, false); console.log(window.isFilePluginRead
我无法使Cordova文件系统工作.我有一个具有以下依赖性的项目: com.ionic.keyboard 1.0.3 "Keyboard" org.apache.cordova.console 0.2.12 "Console" org.apache.cordova.device 0.2.13 "Device" org.apache.cordova.file 1.3.2 "File" org.apache.cordova.file-transfer 0.4.8 "File Transfer" in app.js i定义了对控制器模块的依赖性: angular.module('starter', ['ionic', 'controllers']); 控制器代码基本上是这样: angular.module('controllers', []) .controller('GalleryCtrl', function ($scope) { function s
我正在制作一个需要离线工作的流星科尔多瓦应用程序. 我正在使用地面:DB来离线缓存我的数据,除了图像外,它可以正常工作. 我有一个使用CollectionFs的图像收集.由于这些图像在离线时需要可用,因此我开发了某种局部同步,该同步观察图像集合,当添加或更改某些图像时,使用Cordova Filesystem和FileTransfer将图像下载到本地存储中.我跟踪客户端集合中下载的图像. 在A模板中使用图像时,我检查图像是否在本地存在.如果是这样,我将本地filepath传递给模板,否则我将通过URL. (android:http://meteor.local/:0) Not allowed to load local resource: file:///storage/emulated/0/brachot/AbsoluteBlackGepolijst.jpg 流星移动应用程序访问本地文件系统是否存在某种问题? 这是我的一些相关代码: Images.fi
如何使用我从相机中获得的URL移动文件? 函数moveto均未调用SuccessCallback和ErrorCallback.谁能告诉我我在做什么错,可能的解决方案是什么样的? function successCallback(entry) { console.log("New Path: " + entry.fullPath); alert("Success. New Path: " + entry.fullPath); } function errorCallback(error) { console.log("Error:" + error.code) alert(error.code); } // fileUri = file:///emu/0/android/cache/something.jpg function moveFile(fileUri) { newFileUri = cordova.file.dataDir
我现在正在开发一个Cordova应用程序,哪个平台是浏览器. 我需要从本地文件系统访问文本文件,因此我正在使用Cordova-Plugin-File. ,但我像这样的镀铬控制台中失败了(没有CLI错误): 代码:5 消息:"提供给API的URI畸形,或者结果数据URL超过了数据URL的URL长度限制." 名称:" encodingerror" 作为我的代码打击: document.addEventListener('deviceready', dataRead, false); function dataRead() { window.webkitRequestFileSystem(window.PERSISTENT, 100500*1024*1024, function() { window.webkitResolveLocalFileSystemURL("filesystem:" + cordova.fil
我正在开发一个具有处理文件功能的Chrome应用程序.我需要将这些文件复制到应用程序,我相信它将其存储在应用程序的沙箱中. 但是这些文件在哪里,例如我的磁盘上? 这是我可以访问文件系统的地方: fs = null oneGig = Math.pow 2, 30 # 1GB window.webkitRequestFileSystem window.PERSISTENT, oneGig, (_fs) -> # on fs init fs = _fs console.log fs.root.fullPath #=> "/" obviously not right (e) -> # on fs error console.log e 紧随其后的代码以实际编写文件. fs.root.getFile songObj.md5, create: true, (fileEntry) -> fileEntry.createWriter (
我是第一次用户,只是在初始阶段,弄清楚这对我是否有用,因此请原谅任何幼稚的问题.我正在使用Google Chrome. 这是我的用例 - 用户需要将一些信息存储到我的应用程序(基于Web)中,其中可能包括其系统上某些文件的路径.当用户返回通过我的应用程序访问此信息时,他应该能够单击指向其本地磁盘上这些文件并打开这些文件的链接. 现在,我们知道由于安全问题,浏览器将不允许使用. 我有以下问题 HTML5 Filesystemapi的描述说,这将使我们能够从用户磁盘的"沙箱"部分访问文件. 这是否意味着我的用户想要阅读的文件只能源自其磁盘上的特定文件夹? 我们是否可以决定该位置是什么? file浏览器访问Chrome Sandboxed Filesystems - 我从此获得了想法chrome决定的问题. 如果有人可以对此提供一些启示,我将不胜感激.谢谢大家. 解决方案 afaik,文件系统API无法提供对沙箱外部文件的访问,并且浏览器强加了沙盒
根据探索Filesystem apis 浏览器支持和存储限制 如果您是 从file://调试您的应用程序.不使用这些标志会导致 在SECURITY_ERR或QUOTA_EXCEEDED_ERR fileError中. 用--allow-file-access-from-files,--unlimited-storage和可能不推荐的--unlimited-quota-for-files发射铬;还有--unsafely-treat-insecure-origin-as-secure=file:///path/to/directory/*带有--user-data-dir=/path/to/directory set. 有趣的是,当铬打开通知时 您正在使用不支持的命令行标志: --unsafely-treat-insecure-origin-as-secure.稳定性和安全性 会受苦. 还有其他未指定的标志可以使用;忽略通知,因为仍然能够在file:协议上
我需要在上传XLS文件时找出文件创建日期和文件最后修改的日期,我必须对此2个日期进行一些计算. 通过使用以下代码,我可以轻松获取最后修改的日期. $('#userfile').bind('change', function() { //this.files[0].size gets the size of your file. alert((this.files[0].lastModifiedDate)); alert((this.files[0].DateCreated)); $file_full_path =this.files[0].mozFullPath; alert(alert); }); 我无法找出文件创建日期.任何人都可以帮我吗? 我也通过PHP尝试了它,但是通过PHP不可能,因为PHP不会将此信息发送给服务器. 请告诉我有什么方法可以获取此信息. 谢谢. 解决方案 您无法获得创建日期.只有最后一个修改的日期可在文件属
我正在编写一个Web浏览器应用程序(客户端),该应用程序从许多位置下载了大量块,并加入它们以构建斑点.然后将该斑点保存到本地文件系统中,作为通用文件.我这样做的方式是用arraybuffer对象和一个斑点. var blob = new Blob([ArrayBuffer1, ArrayBuffer2, ArrayBuffer3, ...], {type: mimetype}) 这可以适用于中小型文件(直到700 MB APROX),但是浏览器会随大文件崩溃.我知道RAM内存有其限制.情况是我需要构建斑点以生成文件,但是我想允许用户下载比该大小要大得多的文件(例如,文件约为8GB). €如何构建漏洞避免尺寸限制? LocalStorage比RAM更有限,因此我不知道该使用什么或该怎么做. 解决方案 看起来您只是将数据阵列串联在一起吗?为什么不在巨大的斑点中一起添加阵列缓冲器.您必须一次迭代并附加每个阵列.您将seek到文件作者的末尾以附加数组.为了读取巨型斑点的
通过window.location>? ,如何在JavaScript中设置Blob文件的名称. function newFile(data) { var json = JSON.stringify(data); var blob = new Blob([json], {type: "octet/stream"}); var url = window.URL.createObjectURL(blob); window.location.assign(url); } 运行上面的代码立即下载文件,而无需页面刷新,看起来像: BFEFE410-8D9C-4883-86C5-D76C50A24A1D 我想将文件名设置为 my-download.json 而不是. 解决方案 我知道的唯一方法是 创建一个隐藏的标签. 将其href属性设置为斑点的URL. 设置其到文件名. 单击标签. 这是一个简化的示例( jsf
我正在研究HTML5 Filesystem-API的教程. 基本上,我想将文件写入我的计算机.我正在使用Python的SimpleHttpserver为网站服务.加载网页后,控制台不会引起错误,我收到一条消息,说写入成功.但是我在计算机上的任何地方都找不到文件.这是我的代码: function onInitFs(fs) { fs.root.getFile('zz11zzlog.txt', {create: true}, function(fileEntry) { // Create a FileWriter object for our FileEntry (log.txt). fileEntry.createWriter(function(fileWriter) { fileWriter.onwriteend = function(e) { console.log('Write completed.'); };
我目前正在开发一个Chrome应用程序,需要访问本地文件和目录.我的问题是,当我创建文件或文件夹时,它们在哪里? 该扩展名当前在我的主目录中,而创建的文件不在扩展名目录中. 解决方案 文件系统API是"虚拟",因为您无法将文件完全存储在客户端的计算机上.您只能通过JavaScript真正访问它们. 尽管如此,它们仍在多个目录中使用不同的文件名(具有非直觉名称)存储在: 中 %appdata%\Local\Google\Chrome\User Data\Default\File System 其中%appdata%是例如C:\Users\xxx\AppData(在Vista上).
我正在研究WebApp,我正在尝试使用文件系统API访问目录.在根据规范访问目录之前,我需要向用户索取配额.我应该做这样的事情: ... navigator.webkitPersistentStorage.requestQuota(PERSISTENT, 1024*1024, function(gB){ window.requestFileSystem(PERSISTENT, gB, onInitFs, errorHandler); }, function(e){ console.log('Error', e); }) ... 每次我这样做时,我都会收到**TypeError: Type error**消息.请我做错什么?提前致谢. nb:oninitfs和errorhandler已定义我只是在这里不包括代码. 解决方案 我遇到了同样的问题,有人发布了该解决方案,网址为 filesystem-api-api-not-working-in-- Chrome
是否可以使用html 5文件API(例如,此库: https://.com/23/resumable.js )与S3多部分上传功能? 最新/dev/uploadobjusingmpu.html 解决方案 是的,但是如果您要将其作为公共网站的一部分,您将需要某种服务器后端以更安全的方式处理Amazon API键. 您可以找到这些项目的完整示例实现: s3-multipart-upload-browser 使用PHP Backend s3_multipart 使用Ruby. 请注意,我尚未使用,测试或审查这些项目. 对序列的粗略描述如下: 用户 加载网页 选择文件上传 点击上传按钮 网页 将有关文件的信息发送到服务器 服务器 使用Amazon API创建多部分上传 将"键"(文件名)和"上传ID"发送回网页 网页 零件的大小 请求服务器签署部分传递"键","上传ID",部分信息 服务器 签署零件请求,发送
在Chrome Apps中,我使用JavaScript XHR从服务器下载BLOB内容(Angular $ http获取,带有响应类型的'Blob') 我应该如何将其保存到Chrome应用程序的文件系统? 当前在HTML5文件系统API上使用Angular包装器 https://github.com/maciel.com/maciel310/angular-filesystem 我不想向用户展示弹出窗口(因此我不能使用chrome.fileSystem. chooseEntry) chrome.fileSystem.requestFileSystem API仅由仅限售货亭应用程序支持. 因此,我正在使用HTML5文件系统API而不是Chrome的API. 我正在使用以下代码使Xhr获取Blob. $http({ url: SERVER_URL+"/someVideo.mp4", method: "GET",