How to allow browser to specify desired content type for download?
Browser client makes a request to a HTTP server running PHP such as https://example.com/records/123 to retrieve the data associated with record 123. The PHP web server then makes a cURL request to another API server to retrieve the data and returns it to the browser client. Based on the needs of the client, the data will be returned as JSON, text, CSV, PDF, etc from the second API server.
How should the desired content be specified by the web client? Should an Accept
header be used? If so, can it originate at the browser, or will I need to submit some parameter in the URL or body which PHP reads and substitutes with the appropriate header? I can certainly send headers using a JavaScript ajax request, however, this makes downloading files not as trivial.
http xmlhttprequest mime-types content-type
add a comment |
Browser client makes a request to a HTTP server running PHP such as https://example.com/records/123 to retrieve the data associated with record 123. The PHP web server then makes a cURL request to another API server to retrieve the data and returns it to the browser client. Based on the needs of the client, the data will be returned as JSON, text, CSV, PDF, etc from the second API server.
How should the desired content be specified by the web client? Should an Accept
header be used? If so, can it originate at the browser, or will I need to submit some parameter in the URL or body which PHP reads and substitutes with the appropriate header? I can certainly send headers using a JavaScript ajax request, however, this makes downloading files not as trivial.
http xmlhttprequest mime-types content-type
Not sure what do you mean bynot as trivial
but it sounds like you need explicitly send what kind of data you need from the servers inside http request. You could send GET request with simple key and value which is handled in server side accordingly.
– miradham
Jan 2 at 4:31
add a comment |
Browser client makes a request to a HTTP server running PHP such as https://example.com/records/123 to retrieve the data associated with record 123. The PHP web server then makes a cURL request to another API server to retrieve the data and returns it to the browser client. Based on the needs of the client, the data will be returned as JSON, text, CSV, PDF, etc from the second API server.
How should the desired content be specified by the web client? Should an Accept
header be used? If so, can it originate at the browser, or will I need to submit some parameter in the URL or body which PHP reads and substitutes with the appropriate header? I can certainly send headers using a JavaScript ajax request, however, this makes downloading files not as trivial.
http xmlhttprequest mime-types content-type
Browser client makes a request to a HTTP server running PHP such as https://example.com/records/123 to retrieve the data associated with record 123. The PHP web server then makes a cURL request to another API server to retrieve the data and returns it to the browser client. Based on the needs of the client, the data will be returned as JSON, text, CSV, PDF, etc from the second API server.
How should the desired content be specified by the web client? Should an Accept
header be used? If so, can it originate at the browser, or will I need to submit some parameter in the URL or body which PHP reads and substitutes with the appropriate header? I can certainly send headers using a JavaScript ajax request, however, this makes downloading files not as trivial.
http xmlhttprequest mime-types content-type
http xmlhttprequest mime-types content-type
asked Jan 1 at 21:22
user1032531user1032531
11.1k35139250
11.1k35139250
Not sure what do you mean bynot as trivial
but it sounds like you need explicitly send what kind of data you need from the servers inside http request. You could send GET request with simple key and value which is handled in server side accordingly.
– miradham
Jan 2 at 4:31
add a comment |
Not sure what do you mean bynot as trivial
but it sounds like you need explicitly send what kind of data you need from the servers inside http request. You could send GET request with simple key and value which is handled in server side accordingly.
– miradham
Jan 2 at 4:31
Not sure what do you mean by
not as trivial
but it sounds like you need explicitly send what kind of data you need from the servers inside http request. You could send GET request with simple key and value which is handled in server side accordingly.– miradham
Jan 2 at 4:31
Not sure what do you mean by
not as trivial
but it sounds like you need explicitly send what kind of data you need from the servers inside http request. You could send GET request with simple key and value which is handled in server side accordingly.– miradham
Jan 2 at 4:31
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53999038%2fhow-to-allow-browser-to-specify-desired-content-type-for-download%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53999038%2fhow-to-allow-browser-to-specify-desired-content-type-for-download%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Not sure what do you mean by
not as trivial
but it sounds like you need explicitly send what kind of data you need from the servers inside http request. You could send GET request with simple key and value which is handled in server side accordingly.– miradham
Jan 2 at 4:31