使用require('fs')的Browserify。
我试图在使用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
4 2024-04-04
编程技术问答社区
巨大的JavaScript HTML5 blob(来自大型ArrayBuffers),在客户端建立一个巨大的文件
我正在编写一个Web浏览器应用程序(客户端),该应用程序从许多位置下载了大量块,并加入它们以构建斑点.然后将该斑点保存到本地文件系统中,作为通用文件.我这样做的方式是用arraybuffer对象和一个斑点. var blob = new Blob([ArrayBuffer1, ArrayBuffer2, ArrayBuffer3, ...], {type: mimetype}) 这可以适用于中小型文件(直到700 MB APROX),但浏览器会随大文件崩溃.我知道RAM内存具有其限制.情况是我需要构建斑点以生成文件,但是我想允许用户下载比该大小要大得多的文件(例如,文件约为8GB). €如何构建漏洞避免尺寸限制? LocalStorage比RAM更有限,因此我不知道该使用什么或该怎么做. 解决方案 看起来您只是将数据阵列串联在一起吗?为什么不在巨大的斑点中一起添加阵列缓冲器.您必须一次迭代并附加每个阵列.您将seek到文件作者的末尾,以附加数组.为了读取巨型斑点
10 2024-04-01
编程技术问答社区
没有链接的JavaScript blob文件名
通过window.location下载强制下载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. 设置其到文件名. 单击标签. 这是一个简化的示例( jsfiddle ):
4 2024-04-01
编程技术问答社区
Chrome应用程序:如何在后台将blob内容保存到fileSystem?
在Chrome应用中,我使用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",
2 2024-02-23
编程技术问答社区
检查Angular中对HTML5文件API的支持情况?
在编码HTML5文件API浏览器支持时,类似这样的支票: private hasHtml5FileApiSupport; constructor(@Optional() @Inject(DOCUMENT) document: Document) { const w = document.defaultView; this.hasHtml5FileApiSupport = w.File && w.FileReader && w.FileList && w.Blob; vscode在w.File && w.FileReader && w.FileList零件下绘制红色s痕. 有没有办法摆脱这些/有更好的方法来做到这一点? 解决方案 如果我们使用Document输入document,则我们获得严格的类型检查,而Vscode绘制squigglies,但是如果我们使用any而不是Document,则错误消失了: private hasHtml5
8 2024-02-22
编程技术问答社区
我无法在安卓手机上从文件系统API中打开本地文件
我制作了一个HTML 5应用程序,该应用程序在我的服务器上下载了PDF文件,并将其写入浏览器沙盒系统中. 当我转到文件系统:myServerurl/persistent时,我会看到我的PDF文件正确的大小.我单击它,并且有一个"下载启动"通知,但是大约一秒钟后,我会收到下载错误(当我查看Android日志时的原因404). 我尝试了下载.但是我有同样的错误. 请注意,它在我的计算机上工作正常,当我尝试使用图像时,我可以直接显示它(只需单击文件名),但不能下载它. 我在任何地方都找不到任何信息,我缺少什么吗? 如何下​​载文件: function fetchResource() { var xhr = new XMLHttpRequest(); xhr.open("GET", resourceURL, true); xhr.responseType = "arraybuffer"; xhr.onlo
6 2024-02-10
编程技术问答社区
HTML5和Amazon S3多部分上传
是否可以使用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",部分信息 服务器 签署零件请求,发送
6 2024-01-25
编程技术问答社区
如何使用javascript或jquery在浏览器上获取文件创建日期
我需要在上传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尝试. 请告诉我有什么方法可以获取此信息. 谢谢. 解决方案 您无法获得创建日期.只有最后一个修改的日期
6 2024-01-13
编程技术问答社区
在网络工作者和主线程之间传递大量的数据
有没有一种方法可以在Web工作人员和主线程之间传递大量数据(多个MB)?我在一个项目中工作,需要下载文件,对它们进行修改,然后以某种方式让用户下载修改后的文件.我找到了以下方法来传递Web Worker和Main UI 之间的数据 使用常规postMessage方法. 使用可转移对象(仅镀铬) 创建对BLOB的URL引用,仅发送URL(也可以在Chrome中工作?) 我认为(1)在发送较小的对象时(1)很好,但是在处理大于几个MB的文件时,它需要大量时间和空间,因为它已被序列化并发送为JSON. Chrome提供了一种使用可转移对象传输数据的方法,其中不必复制数据.不幸的是,这是一项镀铬功能,因为它本来可以达到我的目的. 我发现的最后一件事是,从工人开始,使用self.webkitURL创建一个url,然后仅将URL引用传递给UI.这很好,我可以将URL提供给用户,他们可以下载文件.不幸的是,我没有找到一种方法,是在Firefox中,是否有可能? 是否还有其他方
4 2023-12-03
编程技术问答社区
HTML5中的本地编辑器
我想知道HTML5的当前状态是否可以编辑本地文件. 更确切地说,我的意思是: 这些文件不由服务器提供(它们在file://上),或者在最坏的情况下是本地服务器 编辑器要么在本地文件系统上,要么由外部服务器服务 如果我不使用浏览器扩展程序会更好 总体目标是创建一个在线IDE,该IDE 不需要页面重新加载或手动文件插入 我知道有文件系统API,但根据我阅读的内容,它似乎仅适用于Chrome扩展名?那聆听文件更改呢? 我还在 trace.gl 上都可以创建打开本地文本编辑器(一旦单击)(像在镀铬控制台中). 可以重现我们在trace.gl上看到的内容,但与对本地文件系统的访问相结合,并聆听文件更改事件,目的是创建某种本地IDE? 编辑更精确:目标实际上是创建一个IDE.考虑一下从工作区中显示每个文件和目录的代码IDE(Eclipse ...)的典范,并收听更改,可以实时读/写作.这是我想要实现的. PS:如果需要的话,可能是浏览器特定的 解决方案
34 2023-05-22
编程技术问答社区
当使用cordova-plugin-file时,filePluginIsReady事件在chrome中从未被触发。
我现在正在开发一个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
虫草: 未定义LocalFileSystem
我无法使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
28 2023-04-06
编程技术问答社区
Cordova Meteor应用程序不允许加载本地资源
我正在制作一个需要离线工作的流星科尔多瓦应用程序. 我正在使用地面: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
52 2023-04-01
编程技术问答社区
Cordova使用文件网址移动文件
如何使用我从相机中获得的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
28 2023-04-01
编程技术问答社区
cordova-plugin-file时出现EncodingError
我现在正在开发一个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
34 2023-04-01
编程技术问答社区
Chrome应用程序的文件沙盒在哪里?
我正在开发一个具有处理文件功能的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 (
32 2023-03-17
编程技术问答社区
关于HTML5 FileSystemAPI的一些问题
我是第一次用户,只是在初始阶段,弄清楚这对我是否有用,因此请原谅任何幼稚的问题.我正在使用Google Chrome. 这是我的用例 - 用户需要将一些信息存储到我的应用程序(基于Web)中,其中可能包括其系统上某些文件的路径.当用户返回通过我的应用程序访问此信息时,他应该能够单击指向其本地磁盘上这些文件并打开这些文件的链接. 现在,我们知道由于安全问题,浏览器将不允许使用. 我有以下问题 HTML5 Filesystemapi的描述说,这将使我们能够从用户磁盘的"沙箱"部分访问文件. 这是否意味着我的用户想要阅读的文件只能源自其磁盘上的特定文件夹? 我们是否可以决定该位置是什么? file浏览器访问Chrome Sandboxed Filesystems - 我从此获得了想法chrome决定的问题. 如果有人可以对此提供一些启示,我将不胜感激.谢谢大家. 解决方案 afaik,文件系统API无法提供对沙箱外部文件的访问,并且浏览器强加了沙盒
20 2023-03-15
编程技术问答社区
如何在文件: 协议中使用webkitRequestFileSystem
根据探索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:协议上
24 2023-03-10
编程技术问答社区
"fs.createReadStream()不是一个函数" error(Javascript)
在我的Web开发项目中,我需要使用fs.createreadstream()函数,但是,不幸的是,文件系统不是我所知的浏览器的.我尝试了>使用级别文件系统,文件sytem,level-fs包,但每次收到> createreadstream()不是函数错误.如何处理这个问题??? 解决方案 我相信浏览器实用程序将允许您使用Node.js样式需要语句,如: var fs = require('fs');
48 2023-01-31
编程技术问答社区
HTML5 fileWriter.write不写到本地文件
我正在研究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.'); };
42 2023-01-24
编程技术问答社区