不使用任何形式,我可以<input type="file">使用jQuery使用POST方法将文件/文件发送到'upload.php'.输入标记不在任何表单标记内.它独立.所以我不想使用像'ajaxForm'或'ajaxSubmit'这样的jQuery插件.
谢谢你的光临.
我想送new FormData()的body一个的POST使用请求提取API
操作看起来像这样
var formData = new FormData()
formData.append('myfile', file, 'someFileName.csv')
fetch('https://api.myapp.com', 
  {
    method: 'POST',
    headers: {
      "Content-Type": "multipart/form-data"
    },
    body: formData
  }
)这里的问题是边界,类似的东西
boundary=----WebKitFormBoundaryyEmKNDsBKjB7QEqu
从来没有进入Content-Type:标题
它看起来应该是这样的
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryyEmKNDsBKjB7QEqu
当你用a尝试"相同"的操作时new XMLHttpRequest(),就像这样
var request = new XMLHttpRequest()
request.open("POST", "https://api.mything.com")
request.withCredentials = true
request.send(formData)标题已正确设置
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryyEmKNDsBKjB7QEqu
所以我的问题是,
我如何使这种情况fetch完全像XMLHttpRequest?
如果这不可能,为什么?
谢谢大家!这个社区或多或少是我取得职业成功的原因.
我正在使用创建Web API Express.该功能允许API用户将文件发送到服务器.
这是我的应用设置代码:
var express = require('express');
var path = require('path');
// ...
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var users = require('./routes/users');
// API routes
var images = require('./routes/api/img');
var app = express();
app.use(bodyParser.raw());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/api', images);
// ...
module.exports = app;
请注意我正在使用app.use(bodyParser.raw());.
如何从POST请求中获取原始字节?
const express = require('express');
const router = express.Router();
/* POST api/img */
router.post('/img', function(req, res, next) {
  // how do I …我需要将图像文件从react本机应用程序放置到预先配置的s3上传URL中。我看到了一个带有fetch的示例,该示例通过路径将图像上传为二进制文件,但它是作为多部分表单上传进行的。由于s3上传网址只能将其作为主体中的原始二进制文件使用-而不作为多部分的内容类型,因此使用fetch或其他任何其他在本机中运行的库将原始二进制图像作为主体放置成什么语法?
以下代码将其上传为表单数据-这不是我想要的。
          var photo = {
            uri: response.uri,
            name: fileName,
          };
          const body = new FormData();  // how can I do this not as a form?
          body.append('photo', photo);
          const results = await fetch('https://somes3uploadurl.com, {
            method: 'PUT',
            body,
          });
我正在尝试从单个表单中提取图像和文本数据。我尝试使用 formdata.get('image') 来获取用户选择的图像,但它不起作用,因为我在服务器上收到未定义的值。我想知道使用 formdata 或任何其他方法获取用户在表单中选择的图像的适当方法,谢谢。
表格
 <form id = "register" class = "edit-note" enctype = "multipart/form-data">
                <div>
                    <label>Heading:</label>
                    <input type = "text" name = "heading" placeholder = "<%= Note[0].heading %>" id = "heading">
                </div>
                <div>
                    <label>Small Text:</label>  
                    <input type = "text" name = "stext" placeholder = "<%= Note[0].smallText %>" id = "stext">
                </div>
                <div>
                    <label>Featured Image:</label>
                    <img src = "<%= Note[0].image %>" height = "110px" width = "132px">
                    <input type = "file" name = "image" id = "fimage">
                </div>
                <div> …javascript ×3
fetch ×2
fetch-api ×2
amazon-s3 ×1
body-parser ×1
express ×1
form-data ×1
forms ×1
html ×1
image-upload ×1
jquery ×1
node.js ×1
react-native ×1