Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fs节点的源_Javascript_Node.js_Amazon Web Services_Amazon S3_Fs - Fatal编程技术网

Javascript fs节点的源

Javascript fs节点的源,javascript,node.js,amazon-web-services,amazon-s3,fs,Javascript,Node.js,Amazon Web Services,Amazon S3,Fs,我目前正在用HTML元素进行一些编程。在代码中,我将文件上载到s3存储桶。为此,我使用了aws sdk节点,该节点的源代码如下: <script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.24.min.js"></script> 但是,我还需要使用fs节点,但是我不知道使用该节点的源 这是我要使用的代码: 是否有人知道此节点的源url或将使用此代码的类似url。多谢各位 或者,将此代码更改为多部分

我目前正在用HTML元素进行一些编程。在代码中,我将文件上载到s3存储桶。为此,我使用了aws sdk节点,该节点的源代码如下:

<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.24.min.js"></script>

但是,我还需要使用fs节点,但是我不知道使用该节点的源

这是我要使用的代码:

是否有人知道此节点的源url或将使用此代码的类似url。多谢各位

或者,将此代码更改为多部分上载的方法也同样好。此代码在HTML元素中工作,用于发送小于6MB的文件。(链接和ID是文件名标识,不相关)


window.onmessage=(事件)=>{
if(事件数据){
如果(事件数据[5]=“开始”){
开始(事件数据[0]、事件数据[1]、事件数据[2]、事件数据[3]、事件数据[4])
}否则{
document.getElementById(“GoogleSheetsDocs”).innerHTML=event.data;
}
}
};
函数sendLoadMessage(){
window.parent.postMessage(“LoadOk1”,“*”);
}
功能(msg){
window.parent.postMessage(msg,“*”);
}
函数启动(bucketName1、bucketRegion1、IdentityPoolId1、链接、ID){
var bucketName=bucketName1;
var bucketRegion=bucketRegion 1;
var IdentityPoolId=IdentityPoolId1;
AWS.config.update({
地区:bucketRegion,
凭证:新AWS.CognitoIdentityCredentials({
IdentityPoolId:IdentityPoolId
})
});
var s3=新的AWS.s3({
apiVersion:‘2006-03-01’,
参数:{Bucket:bucketName}
});
s3upload(s3,bucketRegion,bucketName1,链接,ID)
}
提交
函数s3upload(s3,bucketRegion,bucketName1,链接,ID){
var files=document.getElementById('fileUpload').files;
如果(文件){
var file=files[0];
var n=file.name.lastIndexOf(“.”);
var res=file.name.substring(n,file.name.length);
var fileName=link+res;
var filePath='Projects/'+ID+'/Documents/'+fileName;
var fileUrl='https:s3/'+bucketRegion+'.amazonaws.com/'+bucketName1+'/'+filePath;
s3.上传({
键:filePath,
正文:文件,
ACL:“公共读取”
},函数(错误,数据){
如果(错误){
拒绝(“错误”);
}
警报('已成功上载!');
}).on('httpUploadProgress',函数(progress){
var upload=parseInt((progress.loaded*100)/progress.total);
$(“进度”).attr('value',上传);
}); 
}
};

fs
模块是一个内置的Node.js。它不是用JavaScript编写的,在Node.js之外不可用,并且执行浏览器中提供给js的API无法实现的操作(例如读取和写入本地文件!)。

fs
模块是Node.js内置模块。它不是用JavaScript编写的,在Node.js之外不可用,并且执行浏览器中提供给js的API无法实现的操作(例如读取和写入本地文件!)。

您无法从浏览器访问Node.js API。Node.js是与web浏览器不同的执行环境,因此具有不同的功能。出于安全原因,web浏览器对您可以执行的操作有限制

我从你的评论中看到了

我所需要的只是能够将多部分(或大型)上传到s3存储桶

在这种情况下,您可以在服务器上生成一个预先签名的S3URL,然后在允许客户端上传时将其发送给客户端。预先签名的URL在特定的持续时间内有效。您应该只在服务器端生成它们,因为您需要提供IAM凭据来创建URL


查看本教程了解更多信息:

您无法从浏览器访问Node.js API。Node.js是与web浏览器不同的执行环境,因此具有不同的功能。出于安全原因,web浏览器对您可以执行的操作有限制

我从你的评论中看到了

我所需要的只是能够将多部分(或大型)上传到s3存储桶

在这种情况下,您可以在服务器上生成一个预先签名的S3URL,然后在允许客户端上传时将其发送给客户端。预先签名的URL在特定的持续时间内有效。您应该只在服务器端生成它们,因为您需要提供IAM凭据来创建URL


查看本教程了解更多信息:

谢谢。我想有人提到了一种叫做“FileReader”的东西,并将我与此联系起来:你知道我如何使用它吗?或者我可以通过任何其他方式让代码在HTMl元素中工作。我所需要的就是能够将多部分(或大型)上传到s3存储桶。谢谢。我想有人提到了一种叫做“FileReader”的东西,并将我与此联系起来:你知道我如何使用它吗?或者我可以通过任何其他方式让代码在HTMl元素中工作。所有我需要的是能够做多部分(或大)上传到s3桶。谢谢你的链接,我已经看过那里。该代码需要aws sdk和express。您知道我是否可以在html中使用express作为源代码吗?@Anralore否您需要在node.js中运行express。你需要一个服务器以某种方式与s3安全交互。我正在写一个小的wix网站。我只能访问wixjavascript代码和HTML元素。我已经在HTML元素中有了工作代码,可以将小于6MB的文件上传到s3存储桶,但我也需要发送更大文件的代码;比如多部分上传或托管上传之类的。我可以展示用于发送小文件的代码,如果这有什么帮助的话?或者,一种让用户上传的文件从HTML元素进入WixJavaScript的方法也可以,因为我可以使用那里的节点,但是我
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.24.min.js">
</script>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js">
</script>

<script type="text/javascript">

window.onmessage = (event) => {

if (event.data) {
    if (event.data[5] === "Start"){
        Start(event.data[0], event.data[1], event.data[2], event.data[3], event.data[4])
    } else{
        document.getElementById("GoogleSheetsDocs").innerHTML = event.data;
    }

}

};

function sendLoadMessage () {

window.parent.postMessage("LoadOk1", "*");

}
function postMsg(msg) {
   window.parent.postMessage(msg, "*");
}

function Start(bucketName1, bucketRegion1, IdentityPoolId1, link, ID) {
    var bucketName = bucketName1;
    var bucketRegion = bucketRegion1;
    var IdentityPoolId = IdentityPoolId1;
    AWS.config.update({
                  region: bucketRegion,
                  credentials: new AWS.CognitoIdentityCredentials({
                      IdentityPoolId: IdentityPoolId
                  })
              });

              var s3 = new AWS.S3({
                  apiVersion: '2006-03-01',
                  params: {Bucket: bucketName}
          });
  s3upload(s3, bucketRegion, bucketName1, link, ID)
}
</script>

<div>        
   <input type="file" id="fileUpload">    
</div>    
<div> 
   <button onclick="Start('EXAMPLEBUCKET', 'eu-west-2', 'eu-west-2:EXAMPLECODE', 'link', 'ID')">Submit</button>    
     
</div>  
  
<progress max="100" value="0" id="Process1" ></progress>

<script type="text/javascript">
function s3upload(s3, bucketRegion, bucketName1, link, ID) {
    var files = document.getElementById('fileUpload').files;
    if (files) {
            var file = files[0];
            var n = file.name.lastIndexOf(".");
            var res = file.name.substring(n, file.name.length);
            var fileName = link + res;
            var filePath = 'Projects/' + ID + '/Documents/' + fileName;
            var fileUrl = 'https:s3//' + bucketRegion + '.amazonaws.com/' + bucketName1 + '/' +  filePath;
        s3.upload({
            Key: filePath,
                Body: file,
                ACL: 'public-read'
            }, function(err, data) {
            if(err) {
            reject('error');
            }
            alert('Successfully Uploaded!');
            }).on('httpUploadProgress', function (progress) {
            var uploaded = parseInt((progress.loaded * 100) / progress.total);
            $("progress").attr('value', uploaded);
        
        }); 
   }
};

</script>



<body onload="sendLoadMessage ();" style="background-color:white;">

<div id="GoogleSheetsDocs"></div>

</body>